Akses Database Menggunakan JDBC

advertisement
Akses Database
Menggunakan JDBC
Mengenal JDBC
 JDBC adalah sebuah nama dari
sebuah produk yang ada dalam Java,
atau yang dikenal sebagai Java Database
Connectivity, seperti dokumentasi yang
dikeluarkan oleh Sun Microsystem.
 JDBC API yaitu Application
Programming Interface, yang
menyediakan akses data secara universal
dan independent.
Cara Kerja JDBC
 Mengakses JDBC Driver ke dalam JVM.
 Membuat koneksi ke database yang
direpresentasikan sebagai objek
java.sql.Connection.
 Membuat objek java.sql.Statement yang
akan digunakan untuk mengirimkan
perintah SQL ke database.
 Menjalankan metode yang bersesuaian dari
objek java.sql.Statement, seperti
executeQuery() untuk membaca atau
executeUpdate() untuk menulis ke tabel.
Kelas untuk Mengakses Database
 Java menyiapkan paket khusus untuk menyimpan kelas-kelas
yang terlibat dalam operasi akses database, yaitu dalam paket
java.sql.
 Ada beberapa tahapan agar bisa melakukan operasi ke dalam
database, antara lain :
- pengenalan driver,
- pembuatan koneksi/hubungan, statement/perintah SQL baru,
- operasi baca dengan excecuteQuery
- operasi tulis dengan executeUpdate().
 Setiap tahapan dan pekerjaan yang berbeda-beda tersebut
dilakukan oleh kelas yang berbeda, mulai dari DriverManager,
Connection, Statement, PreparedStatement, Resulset.
DriverManager
 DriverManager adalah kelas untuk
manajemen driver, untuk bisa
mengakses database diperlukan sebuah
driver JDBC.
 Untuk memastikan sebuah driver sudah
terpasang atau belum, dapat digunakan
objek Class untuk mengidentifikasinya
Objek Class untuk identifikasi driver
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("jdbc.Driver : OK");
}
catch(ClassNotFoundException e) {
System.out.println("Kelas: jdbc.Driver tidak
ada");
}
Objek DriverManager ini bisa menghasilkan sebuah koneksi
melalui metode getConnection(), dengan menyertakan URL
sebagai parameternya.
Adapun penulisannya menggunakan titik dua (:), seperti berikut :
jdbc:mysql://localhost/dbakademik?user=root&password=1234
 Berikut ini penjelasannya.
- jdbc:mysql adalah nama drivernya.
- localhost adalah nama hostname (komputer address).
- dbakademik adalah nama databasenya.
- root adalah nama account user MySQL.
- 1234 adalah password dari account MySQL tersebut.
Connection
 Kelas Connection adalah kelas yang menyimpan
sebuah koneksi atau hubungan yang telah
dilakukan oleh DriverManager.
.....
try {
Class.forName("org.gjt.mm.mysql.Driver");
conn = DriverManager.getConnection(dbUrl, uname,
pword);
}
 Instance conn tersebut menyimpan sebuah
koneksi ke database“dbakademik”, dengan
komputer localhost (komputer lokal).
Statement
Kelas ini digunakan untuk mengirimkan statement SQL ke database,
tanpa penggunaan parameter. Seperti contoh berikut:
try {
Connection
conn=DriverManager.getConnection(“jdbc:mysql://localhost/dbakademik” +
“user=root&password=1234”);
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("Select * from datamhs");
}
Instance st tersebut membuat sebuah statement baca, yaitu “Select
* from datamhs”, melalui metode executeQuery yang dimilikinya.
Selain itu, Statement tersebut juga bisa melakukan operasi baca
dengan metode executeUpdate() yang juga dimiliki oleh kelas ini.
PreparedStatement
Kelas ini digunakan untuk mengirimkan statement SQL ke database, yang disertai dengan
penggunaan parameter seperti contoh :
try {
Class.forName ("org.gjt.mm.mysql.Driver");
conn = DriverManager.getConnection (dbUrl, uname, pword);
JOptionPane.showMessageDialog(null, "Koneksi ke Database dbakademik OK!!!");
String sql = "INSERT INTO datamhs (NIM, Nama, Alamat) VALUES('201501','Ilham
Putra','Kuningan')";
PreparedStatement ps = conn.prepareStatement(sql);
ps.executeUpdate();
}
Instance prepareStatement tersebut membuat sebuah statement tulis, yaitu “insert into
datamhs (NIM, Nama, Alamat)”, dan dijalankan melalui metode executeUpdate()
yang dimiliki oleh kelas ini. Sehingga contoh di atas dapat disimpulkan NIM=”201501”,
Nama=”Ilham Putra”, Alamat=”Kuningan”.
ResultSet
 Kelas yang menyimpan dataset (sekumpulan data) dari hasil statement query
“SELECT”. Seperti contoh berikut ini :
try {
Connection conn=DriverManager.getConnection(
“jdbc:mysql://localhost/dbakademik” +“user=root&password=1234”);
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("Select * from datamhs");
while (rs.next()) {
System.out.println(“NIM :"+
rs.getString(“NIM"));
}}
 Instance rs, akan menyimpan hasil query yang bisa diakses dengan cara
memanggil metode getter untuk setiap jenis datanya. Misalnya getString()
adalah untuk mendapat nilai string, diikuti nama fieldnya. Sedangkan untuk
membaca record berikutnya bisa dilakukan dengan metode next().
Latihan membuat database
 Buat database melalui MySQL dengan nama
dbakademik
 Setting PATH dengan C:\Program
Files\Java\jdk1.5.0\bin\; C:\Program
Files\Java\jre1.5.0\lib\;C:\Program
Files\Java\jdk1.5.0\lib\;
Membuat Koneksi
import java.sql.*;
import javax.swing.*;
class koneksijdbc {
public static void main(String[] data)
{
Connection conn = null;
String uname = "root";
String pword = "1234";
String dbUrl = "jdbc:mysql://localhost/dbakademik";
try {
Class.forName("org.gjt.mm.mysql.Driver");
conn = DriverManager.getConnection(dbUrl, uname,
pword);
Membuat Koneksi
JOptionPane.showMessageDialog(null, “Sudah terkoneksi ke Database
MYSQL!!!");
}
catch(Exception e){
JOptionPane.showMessageDialog(null, “Koneksi
ERROR");
}
finally {
System.exit(0);
}
}
}
 Untuk memasang driver MySQL tersebut, klik kanan project 
Properties, sehingga muncul jendela Project Properties
 Pada kotak Categories. Selanjutnya di sebelah kanan tekan
tombol Add Library… (pada tab Compile), sehingga muncul
jendela Add Library. Pilih MySQL JDBC Driver, tekan Add
Library, kemudian tekan OK pada jendela Properties.
Project Properties
Input Data pada Tabel datamhs
import java.sql.*;
import javax.swing.*;
public class datamhsjdbc
{
public static void main(String[] args)
{
Connection conn = null;
String uname = "root";
String pword = "1234";
String dbUrl = "jdbc:mysql://localhost/dbakademik";
try
{
Class.forName ("org.gjt.mm.mysql.Driver");
conn = DriverManager.getConnection (dbUrl, uname, pword);
Input Data pada Tabel datamhs
JOptionPane.showMessageDialog(null, "Koneksi ke Database dbakademik OK!!!");
String sql = "INSERT INTO datamhs (NIM, Nama, Alamat)
VALUES('201501','Ilham Putra','Kuningan')";
PreparedStatement ps = conn.prepareStatement(sql);
ps.executeUpdate();
JOptionPane.showMessageDialog(null, "Data baru sudah diinputkan...");
conn.close();
}
catch (Exception e){
JOptionPane.showMessageDialog(null, e);
}
finally {
System.exit(0);
} } }
Download