Sabtu, 03 Desember 2011

Koneksi java gui(netbeans) ke Database(MySQL

Java.sql.Connection

sebelum kita mengelola database pada MySQL kita perlu membuat terlebih dahulu sebuah koneksi yang dalam java dekenal dengan java.sql.Connection.  tapi sebelumnya kita harus menentukan sebuah driver setiap DBMS yang akan kita gunakan. karena kita menggunakan DBMS MySQL, maka kita harus membuat instansiasi dari Driver milik MySQL. dan masalahnya, java tidak menyediakan driver untuk MySQL, sehingga kita harus mendownload driver MySQL dari situs resmi MySQL. tapi tenang saja, karena kita pake Netbeans, semuanya telah tersedia, hahahaha….
untuk memasukkan sebuah library untuk drriver MySQL pada netbeans gampang saj. caranya klik kanan pada library milik project yang akan kita gunakan lalu pilih add library :
image
setelah itu cari library MySQL JDBC Driver lalu klik tombol add library :
image
sekarang bisa dilihat kalo MySQL JDBC Driver telah ada di library project yang akan kita buat :
image
setelah itu buat sebuah class untuk koneksi (jika anda belum tahu cara membuat koneksi, silahkan lihat kembali tutorial MySQL dan Netbeans bagian 1) :
01import com.mysql.jdbc.Driver;
02import java.sql.Connection;
03import java.sql.DriverManager;
04import java.sql.SQLException;
05 
06public class Koneksi {
07 
08    private static Connection koneksi;
09 
10    public static Connection getConnection() throws SQLException {
11        if (koneksi == null) {
12            // panggil Driver MySQL
13            new Driver();
14            // buat koneksi
15            koneksi = DriverManager.getConnection("jdbc:mysql://localhost:3306/netbeans", "username", "password");
16        }
17        return koneksi;
18    }
19 
20    public static void main(String args[]) {
21        try {
22            getConnection();
23            System.out.println("Koneksi Berhasil");
24        } catch (SQLException ex) {
25            System.err.println("Koneksi Gagal");
26        }
27    }
28}
setelah itu coba running, jika berhasil maka akan mengeluarkan tulisan “Koneksi Berhasil”, jika gagal, maka akan keluar tulisan “Koneksi Gagal”. nach sekarang saya akan anggap koneksi berhasil. kalo gagal, pasti ada yang salah dengan yang anda ketikkan, ulangi lagi sampai berhasil….

Java.sql.Statement

nah sekarang kita akan masuk ke proses INSERT, UPDATE, DELETE pada database. caranya kita harus membuat sebuah Statement, lalu dengan statement tersebut kita bisa membuat proses eksekusi INSERT, UPDATE, dan DELETE. namun tak bisa mengeksekusi proses SELECT karena proses tersebut mengembalikan nilai, makanya nanti kita akan bahas prose SELECT di subbab selanjutnya.
untuk membuat Statement, kita cukup memanggil metode createStatement() milik Connection. ini contohnya :
1Connection koneksi = ....
2Statement statement = koneksi.createStatement();</code>
sedangkan untuk melakukan proses eksekusi instruksi SQL, kita gunakan metode executeUpdate(“PERINTAH SQL”) milik Statement, contohnya kita akan mencoba membuat Statement untuk eksekusi perintah INSERT :
01import java.sql.SQLException;
02import java.sql.Statement;
03 
04public class InsertRecord {
05 
06    public static void main(String args[]) throws SQLException {
07        Statement statement = Koneksi.getConnection().createStatement();
08        statement.executeUpdate("INSERT INTO MAHASISWA " +
09                "VALUES (" +
10                "'10106031','Eko Kurnaiwan Khannedy','1988-12-29'" +
11                ");");
12 
13        statement.close();
14    }
15}
setelah di eksekusi, maka ini hasilnya :
image
sekarang kita coba melakukan proses UPDATE :
01import java.sql.SQLException;
02import java.sql.Statement;
03 
04public class UpdateRecord {
05 
06    public static void main(String args[]) throws SQLException {
07        Statement statement = Koneksi.getConnection().createStatement();
08        statement.executeUpdate("UPDATE MAHASISWA " +
09                "SET " +
10                "NAMA = 'Nesia Oktiana' ," +
11                "TANGGAL_LAHIR = '1988-10-04' " +
12                "WHERE " +
13                "NIM = '10106031';");
14        statement.close();
15    }
16}
setelah dieksekusi maka ini hasilnya :
image
sekarang kita coba proses DELETE :
01import java.sql.SQLException;
02import java.sql.Statement;
03 
04public class DeleteRecord {
05 
06    public static void main(String args[]) throws SQLException {
07        Statement statment = Koneksi.getConnection().createStatement();
08        statment.executeUpdate("DELETE FROM MAHASISWA " +
09                "WHERE NIM = '10106031';");
10        statment.close();
11    }
12}
setelah dieksekusi maka ini hasilnya :
image
ternyata gampangkan membuat koneksi dan melakukan proses INSERT UPDATE dana DELETE di Java. ;)

Java.sql.ResultSet

seperti janji saya, sekarang kita akan belajar bagaimana melakukan proses SELECT di Java. hmmmm gampang aja, pertama buat Connection, llau buat Statement lalu buat ResultSet, caranya seperti ini :
1Connection koneksi = ...
2Statement statement = koneksi.createStatement();
3ResultSet result = statement.executeQuery("SELECT ...");
setelah itu untuk mendapatkan datanya gunakan metode get[TipeData](“NAMA_KOLOM”) milik ResultSet. untuk lebih jelasnya sekarang kita akan mencoba menampilkan seluruh data pada tabel Mahiswa yang ada pada database NETBEANS:
01import java.sql.Date;
02import java.sql.ResultSet;
03import java.sql.SQLException;
04import java.sql.Statement;
05 
06public class SelectRecord {
07 
08    public static void main(String args[]) throws SQLException {
09        Statement statement = Koneksi.getConnection().createStatement();
10 
11        statement.executeUpdate("INSERT INTO MAHASISWA VALUES ('1','A','1988-12-29')");
12        statement.executeUpdate("INSERT INTO MAHASISWA VALUES ('2','B','1988-12-29')");
13        statement.executeUpdate("INSERT INTO MAHASISWA VALUES ('3','C','1988-12-29')");
14        statement.executeUpdate("INSERT INTO MAHASISWA VALUES ('4','D','1988-12-29')");
15        statement.executeUpdate("INSERT INTO MAHASISWA VALUES ('5','E','1988-12-29')");
16 
17        ResultSet result = statement.executeQuery("SELECT * FROM MAHASISWA");
18 
19        String nim;
20        String nama;
21        Date tanggalLahir;
22        int index = 1;
23 
24        while (result.next()) {
25            nim = result.getString("NIM");
26            nama = result.getString("NAMA");
27            tanggalLahir = result.getDate("TANGGAL_LAHIR");
28 
29            System.out.println("Mahasiswa Ke-" + index);
30            System.out.println("Nim : " + nim);
31            System.out.println("Nama : " + nama);
32            System.out.println("Tanggal Lahir : " + tanggalLahir);
33            System.out.println();
34            index++;
35        }
36        result.close();
37        statement.close();
38    }
39}
setelah dieksekusi, maka akan menghasilkan output seperti ini :
Mahasiswa Ke-1
Nim : 1
Nama : A
Tanggal Lahir : 1988-12-29
Mahasiswa Ke-2
Nim : 2
Nama : B
Tanggal Lahir : 1988-12-29
Mahasiswa Ke-3
Nim : 3
Nama : C
Tanggal Lahir : 1988-12-29
Mahasiswa Ke-4
Nim : 4
Nama : D
Tanggal Lahir : 1988-12-29
Mahasiswa Ke-5
Nim : 5
Nama : E
Tanggal Lahir : 1988-12-29
sekarang akan saya beritahu apa itu metode next() milik ResultSet. metode next() merupakan metode yang digunakan untuk mengecek apakah ada record lagi selain pada posisi index yang saat ini (pada awalnya posisi index ResultSet adalah 0 (nol)) jika ada maka index akan loncat kedepan misal dari 0 menjadi 1 dan akan mengembalikan nilai true, tetapi jika tak ada maka index tetap disitu dan akan mengembalikan nilai false;
selain itu perlu diketahui, bahwa class Statement dan ResultSet serta Connection memiliki metode yang bernama metode close(). metode ini merupakan metode yang digunakan untuk menutup. misal ketika Satement kita panggil metode close() nya maka Statement tersebut akan ditutup, sehingga koneksi ke MySQL akan terputus dan dari memori akan dibapus. jadi metode close() harus selalu dipanggil jika proses telah selesai, karena jika tidak maka akan terjadi penumpukan memori…

Tidak ada komentar:

Posting Komentar