saling bergai ilmu

Senin, 09 Mei 2016

Menyimpan data di Tabel ke Database di java

Saya akan membagikan cara menyimpan data di jtable ke dalam database Mysql.
Postingan ini mirip seperti postingan sebelumnya yaitu Membuat Fungsi Simpan/Buka dengan BufferedWriter dan BufferedReader tapi bedanya kalau yang ini datanya di simpan di database.



Ok Sebelum memulai persiapkan bahan yang di butuhkan
  • Netbeans
  • JDK
  • Xampp 
Pertama instal semua aplikasi yang di butuhkan kalau sudah install skip aja.

Di sini saya beranggapan kalau agan” sudah paham tentang database mysql atau query di mysql. Kalau belum coba tanya mbah gugle atau cari” buku di perpus tentang sql :v .

Pertama buka phpmyadmin -> Buat data base baru. -> tabel baru namai dengan “mahasiswa” isi/setting kolom “Nim (int),nama(vachar),Jurusan(vachar)

Atau gunakan query sql di bawah :

CREATE TABLE IF NOT EXISTS `mahasiswa` (`NIM` int(8) NOT NULL,`NAMA` varchar(50) NOT NULL,`JURUSAN` varchar(25) NOT NULL,PRIMARY KEY (`NIM`))

Selanjutnya buka netbeans
  • Buat project baru 
  • Buat 2 Package (“cl”  dan ”data”

Buat jframe form di package “data” namai dengan “main” dan seting seperti di bawah.


Setelah membuat tampilan selanjutnya tinggal membuat actionnya.

Sebelumnya baca dulu postingan saya yang dulu Membuat Program Data Penjualan HP dengan jtable di java di situ sudah ada cara untuk membuat fungsi ADD , UPDATE , HAPUS . data tinggal kembangkan dan sesuaikan saja seperti program ini.  :v 
kalau masih tidak bisa komen hehe.

Jika sudah sukses selanjutnya tahap coding untuk “menyimpan data yang ada di jtable ke database”

Biar gak error tambahkan library  dulu yaitu “MySQL JBDC Driver”


Kita buat class penghubung database ke program. Buat class di package “cl” dan namai dengan “konek” Terus buka file hapus semua syntak dan ganti dengan syntak di bawah.


package cl;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class konek {
        private static Connection koneksi;

    public static Connection getkoneksi() throws SQLException {
        if (koneksi == null) {
            try {
                String url = new String();
                String user = new String();
                String password = new String();
                url = "jdbc:mysql://localhost:3306/nim";  //nim = nama database di mysql bisa di sesuaikan
                user = "root"; //user database bisa di sesuaikan
                password = ""; //password database bisa di sesuaikan
                DriverManager.registerDriver(new com.mysql.jdbc.Driver());
                koneksi = DriverManager.getConnection(url, user, password);
            } catch (SQLException t) {
                System.out.println("Error membuat koneksi");
            }
        }return koneksi;
    }
}

Keterangan
url = "jdbc:mysql://localhost:3306/nim";   nim = ganti seperti nama database anda
user = "root"; //user database bisa di sesuaikan

password = ""; //disini usernya tidak mempunyai password

Kembali ke jform dan pilih source mode
Disini akan membuat 4 method baru yaitu
Simpan() , hapus() , load() , hapus(), 

Taruh method di bawah method public main() {} 

Dan seperti ini kode nya
Dan seperti ini kode nya

Method simpan() :

untuk menyimpan data ke database taruh method ini di action perform dari button “ADD”


    public void simpan() {
        try {
            Connection c = konek.getkoneksi();
            Statement stat = c.createStatement();
            String Nama = "'" + nama.getText() + "',";
            String Nim = nim.getText() + ",";
            String Jurusan = "'" + jurusan.getText() + "'";
            try {
                String sql = "INSERT INTO mahasiswa(`NIM`,`NAMA`, `JURUSAN`) VALUES (" + Nim + Nama + Jurusan + ")";
                stat.execute(sql); //Query SQl Pelajari sendiri ya :v
                stat.close();
            } catch (SQLException ex) {
                System.out.println(ex);
            }
        } catch (SQLException ex) {
            Logger.getLogger(main.class.getName()).log(Level.SEVERE, null, ex);
        }
    }


Method hapus() :
untuk menghapus data di database taruh method ini di action performa botton “Remove”


    public void hapus() {
        DefaultTableModel model = (DefaultTableModel) tdata.getModel();
        try {
            Connection c = konek.getkoneksi();
            Statement stat = c.createStatement();
            int j = tdata.getSelectedRow();
            String i = nim.getText();
            String sql = "DELETE FROM `mahasiswa` WHERE `NIM`='" + i + "';"; 
            try {
                stat.execute(sql);

                stat.close();
            } catch (SQLException ex) {
                System.out.println(ex);
            }
        } catch (SQLException ex) {
            Logger.getLogger(main.class.getName()).log(Level.SEVERE, null, ex);
        }
    }


Method update() :

untuk mengupdate data di database taruh method ini di action perfom botton “UPDATE”


    public void update() {
        String Nama = nama.getText();
        String Nim = nim.getText();
        String Jurusan = jurusan.getText();
        try {
            Connection c = konek.getkoneksi();
            Statement stat = c.createStatement();
            int jb = tdata.getRowCount();
            try {
                String sql = "UPDATE `mahasiswa` SET `NAMA` = '" + Nama + "', `JURUSAN` = '" + Jurusan + "' WHERE `NIM` = '" + Nim + "';";
                stat.execute(sql);
                stat.close();
            } catch (SQLException ex) {
                System.out.println(ex);
            }
        } catch (SQLException ex) {
            Logger.getLogger(main.class.getName()).log(Level.SEVERE, null, ex);
        }
    }


Method load() :
untuk meload data saat pertama kali program di buka. Jadi data yang ada di database langsung terinput di jtable

NB : taruh method load di public main(){} di bawahnya initcomponent();


public void load() {
        DefaultTableModel model = (DefaultTableModel) tdata.getModel();

        try {
            Connection c = konek.getkoneksi();
            Statement s = c.createStatement();
            String sql = "SELECT * FROM `mahasiswa`";
            ResultSet r = s.executeQuery(sql);

            while (r.next()) {
                Object[] o = new Object[3];
                o[0] = r.getString("NIM"); //ini adalah kolom yang ada di tabel my sql tadi jadi jika 
                o[1] = r.getString("NAMA");  //di database ada 5 kolom ya masukkan 5 kolom.
                o[2] = r.getString("JURUSAN"); // di sini hanya ada 3 kolom jadi masukkan 3 saja
                model.addRow(o);
            }
            r.close();
            s.close();
        } catch (SQLException e) {
            System.out.println("Terjadi kesalahan" + e);
        }
    }

Sudah itu saja yang bisa saya bagikan. Bila kurang jelas silahkan tinggalkan komen :)

Demo Aplikasi bisa di lihat di video di bawah ini

, , ,

2 komentar:

  1. assalamualaikum kak,
    kak.. itu yang bagian membuat methode simpan.. yang tulisannya ini kak "Taruh method di bawah method public main() {} "

    itu maksudnya apa kak.. saya pas coba ini. nggak jalannya di sini mohon

    mohon jawabannya kak

    BalasHapus
    Balasan
    1. Kan di java ada method static main{}
      Terus taruh method simpan{} dll di bawah method main{}
      Cth
      public main(){
      ...code..
      }

      Public voud simpan(){
      ..code..
      }

      Taruh method simpan di bawahnya

      Hapus