Minggu, 12 Juni 2016

Menyimpan data tabel ke database



Hello agan dan sista.. lama tak jumpa ya.. apa kabar semua??? sebelum ke tkp mimin mau ngucapin selamat menunaikan ibadah puasa.. semoga ramadan kali ini makin varokah ya gan and sist..

 Tanpa panjang dan lebar lagi, yuk otw ke tkp aja..




Untuk kali pertama buka xampp terlebih dahulu, dan start untuk Apahe dan MySql. 


Kemudian masuk browser dan dan lanjut masuk ke phpmyadmin.


Buat tabel database baru. Disini ane udah buat database dengan nama mhs 


setelah selesai buat database, buka netbeans nya.
Buat project baru dengan nama connect. Dan design interface untuk programnya.
Berikut design dari program dari aplikasi yang akan kita buat.


Setelah design selesai dibuat, buat class java baru untuk konesksi jdbc nya. Masukkan source code berikut dalam classs koneksi
public class koneksi {
   
    private Connection con;
 
    public koneksi(){
   
    try {
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mhs","root","");
    }catch (Exception e){
       
        System.exit(0);
    }
}
public Connection getCon(){
return con;
}
}
Ket: ("jdbc:mysql://localhost:3306/mhs","root","");, utk yang berwarna merah adalah nama database.

Setelah selesai pengisian code di class koneksi, masuk lagi di class utama yang ada design program.
package connect;

import java.awt.event.KeyEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author pc
 */
public class utama extends javax.swing.JFrame {

    /**
     * Creates new form mhs
     */
   
    private Connection con;
    private Koneksi K = new Koneksi();

    private Vector data, header, tmp;
   
   
    public utama() {
        initComponents();
        con = K.getCon();
        header = new Vector();
        header.add("nama"); header.add("nim"); header.add("Alamat");
        isiTable();
    }
   
   
    private void isiTable(){
        try{
            new Koneksi();
            String sql="select * from mhs2016";
            data = new Vector();
            Statement st = con.createStatement();
            ResultSet rs = st.executeQuery(sql);
            while (rs.next()){
                tmp = new Vector();
                tmp.add (rs.getString(1));
                tmp.add (rs.getString(2));
                tmp.add (rs.getString(3));
                data.add(tmp);
        }
         tbl.setModel(new DefaultTableModel(data,header));
    }catch (Exception e){
        }
    }
   
    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        tbl = new javax.swing.JTable();
        txalamat = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();
        txnim = new javax.swing.JTextField();
        txnama = new javax.swing.JTextField();
        btinsert = new javax.swing.JButton();
        btdel = new javax.swing.JButton();
        btref = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        tbl.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null},
                {null, null, null},
                {null, null, null},
                {null, null, null}
            },
            new String [] {
                "nama", "nim", "Alamat"
            }
        ));
        tbl.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tblMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(tbl);

        jLabel3.setText("ALAMAT");

        jLabel2.setText("NAMA");

        jLabel1.setText("NIM");

        btinsert.setText("insert");
        btinsert.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btinsertActionPerformed(evt);
            }
        });

        btdel.setText("delete");
        btdel.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btdelActionPerformed(evt);
            }
        });

        btref.setText("refresh");
        btref.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btrefActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGap(89, 89, 89)
                .addComponent(btinsert, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(btdel, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(btref)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(84, 84, 84)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel3)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(txalamat, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                .addComponent(jLabel2)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(txnama, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel1)
                                .addGap(45, 45, 45)
                                .addComponent(txnim, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGap(0, 112, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(26, 26, 26)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txnim, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(txnama, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(txalamat, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btref)
                    .addComponent(btdel)
                    .addComponent(btinsert))
                .addGap(18, 18, 18)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 174, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                       

    private void btinsertActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
        try{
                //Class.forName("com.mysql.jdbc.Driver");
                Class.forName("com.mysql.jdbc.Driver");
                Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mhs","root","");
                Statement stat=con.createStatement();
                String sql="insert into mhs2016 values ('"+txnama.getText()+"','"+txnim.getText()+"','"+txalamat.getText()+"')";
                stat.executeUpdate(sql);
                JOptionPane.showMessageDialog(null, "Data Tersimpan");
        }catch (Exception e){
            JOptionPane.showMessageDialog(null, "koneksi gagal"+e);
        }
    }                                       

    private void btdelActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        Connection c=K.getCon();
       
        String sqlkode="Delete from mhs2016 Where nim +'"+this.txnim.getText()+"'";
       
        try{
                PreparedStatement p2=(PreparedStatement) c.prepareStatement(sqlkode);
                p2.executeUpdate(sqlkode);
                p2.close();
        }   catch (SQLException ex){
                    JOptionPane.showMessageDialog(this, "Terjadi kesalahan" +ex.getMessage());}
    }                                     

    private void btrefActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        isiTable();
    }                                    

    private void tblMouseClicked(java.awt.event.MouseEvent evt) {                                
        // TODO add your handling code here:
        try{
                int row=tbl.getSelectedRow();
                String tabel_klik=(tbl.getModel().getValueAt(row, 0).toString());
                java.sql.Connection conn = (java.sql.Connection)con;
                java.sql.Statement stm = conn.createStatement();
                java.sql.ResultSet sql = stm.executeQuery("select * from mhs2016 where nim'"+tabel_klik+"'");
                if(sql.next()){
                    String add1 =sql.getString("nama");
                    txnama.setText(add1);
                    String add2 =sql.getString("nim");
                    txnim.setText(add2);
                    String add3 =sql.getString("alamat");
                    txalamat.setText(add3);
                }
        }catch (Exception e){
           
        }
    }                               

    /**
     * @param args the command line arguments
     */
 public static void main(String args[]) {
  //      /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(utama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(utama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(utama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(utama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new utama().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                    
    private javax.swing.JButton btdel;
    private javax.swing.JButton btinsert;
    private javax.swing.JButton btref;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable tbl;
    private javax.swing.JTextField txalamat;
    private javax.swing.JTextField txnama;
    private javax.swing.JTextField txnim;
    // End of variables declaration                  

    private Vector add(String nim) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

   
}

Setelah penulisan code selesai, jalankan program yang sudah selesai dibuat.
Isi field sesuai dengan perintah.

Setelah selesai input data, klik di button insert. Kemudian klik button refresh untuk update tabel.


Secara otomatis datase yang ada di phpmyadmin juga akan update data.



Oke, program JDBC telah selesai.

selamat mencoba ya gan and sist..

Tidak ada komentar:

Posting Komentar