Anda di halaman 1dari 5

JDBC dan MySQL dengan NetBeans part 1

Oleh : Eko Zulkaryanto


http://zulkaryanto.wordpress.com
Sumber : http://eecchhoo.wordpress.com/2008/07/05/jdbc-dan-mysql-dengan-netbeans-part-1/

Dengan membaca tutorial ini berarti anda telah membaca tutorial MySQL dan NetBeans bagian 1 dan 2…
hmmmmmm…..
lagi iseng nich jam 4 bagi. sebelum subuh bikin tutorial dulu tentang JDBC (Java Database Connectivity)

dan MySQL and tetep pake Netbeans


pada tutorial ini kita baca tentang cara membuat Connection, trus cara bikin Statement, and cara bikin
ResultSet. bingung? ah gak perlu kawatir, dulu juga saya bingung. tapi setelah baca tutorial ini, pasti gak
kan ada kata bingung… let’s GO!!!!!!!
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 :

setelah itu cari library MySQL JDBC Driver lalu klik tombol add library :

sekarang bisa dilihat kalo MySQL JDBC Driver telah ada di library project yang akan kita buat :
setelah itu buat sebuah class untuk koneksi (jika anda belum tahu cara membuat koneksi, silahkan lihat kembali
tutorial MySQL dan Netbeans bagian 1) :
import com.mysql.jdbc.Driver;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Koneksi {

private static Connection koneksi;

public static Connection getConnection() throws SQLException {


if (koneksi == null) {
// panggil Driver MySQL
new Driver();
// buat koneksi
koneksi = DriverManager.getConnection("jdbc:mysql://localhost:
3306/netbeans", "username", "password");
}
return koneksi;
}

public static void main(String args[]) {


try {
getConnection();
System.out.println("Koneksi Berhasil");
} catch (SQLException ex) {
System.err.println("Koneksi Gagal");
}
}
}
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
:
Connection koneksi = ....
Statement statement = koneksi.createStatement();
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 :
import java.sql.SQLException;
import java.sql.Statement;

public class InsertRecord {

public static void main(String args[]) throws SQLException {


Statement statement = Koneksi.getConnection().createStatement();
statement.executeUpdate("INSERT INTO MAHASISWA " +
"VALUES (" +
"'10106031','Eko Kurnaiwan Khannedy','1988-12-29'" +
");");

statement.close();
}
}
setelah di eksekusi, maka ini hasilnya :

sekarang kita coba melakukan proses UPDATE :


import java.sql.SQLException;
import java.sql.Statement;

public class UpdateRecord {

public static void main(String args[]) throws SQLException {


Statement statement = Koneksi.getConnection().createStatement();
statement.executeUpdate("UPDATE MAHASISWA " +
"SET " +
"NAMA = 'Nesia Oktiana' ," +
"TANGGAL_LAHIR = '1988-10-04' " +
"WHERE " +
"NIM = '10106031';");
statement.close();
}
}
setelah dieksekusi maka ini hasilnya :

sekarang kita coba proses DELETE :


import java.sql.SQLException;
import java.sql.Statement;

public class DeleteRecord {

public static void main(String args[]) throws SQLException {


Statement statment = Koneksi.getConnection().createStatement();
statment.executeUpdate("DELETE FROM MAHASISWA " +
"WHERE NIM = '10106031';");
statment.close();
}
}
setelah dieksekusi maka ini hasilnya :
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 :
Connection koneksi = ...
Statement statement = koneksi.createStatement();
ResultSet 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:
import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class SelectRecord {

public static void main(String args[]) throws SQLException {


Statement statement = Koneksi.getConnection().createStatement();

statement.executeUpdate("INSERT INTO MAHASISWA VALUES ('1','A','19


88-12-29')");
statement.executeUpdate("INSERT INTO MAHASISWA VALUES ('2','B','19
88-12-29')");
statement.executeUpdate("INSERT INTO MAHASISWA VALUES ('3','C','19
88-12-29')");
statement.executeUpdate("INSERT INTO MAHASISWA VALUES ('4','D','19
88-12-29')");
statement.executeUpdate("INSERT INTO MAHASISWA VALUES ('5','E','19
88-12-29')");

ResultSet result = statement.executeQuery("SELECT * FROM MAHASISWA


");

String nim;
String nama;
Date tanggalLahir;
int index = 1;

while (result.next()) {
nim = result.getString("NIM");
nama = result.getString("NAMA");
tanggalLahir = result.getDate("TANGGAL_LAHIR");

System.out.println("Mahasiswa Ke-" + index);


System.out.println("Nim : " + nim);
System.out.println("Nama : " + nama);
System.out.println("Tanggal Lahir : " + tanggalLahir);
System.out.println();
index++;
}
result.close();
statement.close();
}
}

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…..
tutorial berikutnya kita akan bahas tentang PrepareStatement
see you at next tutorial
Rock with Java!!!!!