Kali ini kita akan membahas tentang JDBC
1. Load driver
2. Tentukan URL koneksi
3. Membangun koneksi
4. Membuat objek statement
5. Execute query
6. Proses Result
7. Menutup koneksi
1. Load Driver
Panggil
class.forName
-
class.forName(“oracle.jdbc.driver.OracleDriver) – untuk database oracle
class.forName(“com.mysql.jdbc.Driver”)
–untuk mysql
Contoh
try {
Class.forName(“com.mysql.jdbc.Driver");
} catch (ClassNotFoundException cnfe) {
System.out.println(“Error
loading driver: ” + cnfe);
}
2. Tentukan URL Koneksi
MySQL on
localhost: jdbc:mysql://localhost:3306/mysql
Bagian pertama
dari URL (jdbc:mysql) spesifik terhadap dbms yang digunakan
Bagian kedua
menjelaskan dimana server DBMS berada (localhost, fling)
Bagian ketiga
menjelaskan port number (1521, 3306 -default)
Bagian terakhir
menjelaskan nama database yang digunakan (mysql)
3. Membangun Koneksi
Panggill
DriverManager.getConnection(DbURL, username, password)
DbURL merupakan
url koneksi yang kita buat sebelumnya
Username and
password merupakan parameter yang digunakan sesuai dengan value yang diset pada
database server
4. Membuat Objek Statement
Objek statement
sederhana:
Statement statement =
connection.createStatement();
3 tipe objek
statement :
Statement
Prepared
Statement
Callable
Statement
5. Execute Query
Tulis query
sebagai Java String
String query= “Select * from Users where
age>21”;
Select query
akan mengembalikan semua record/tuple yang memenuhi query
Simpan dalam
ResultSet
Contoh:
ResultSet rs = statement.executeQuery(query);
Bagaimana jika
kita ingin menquery database menggunakan variabel dari user/program ?
Gunakan prepared
statement
Ganti nilai
variabel dalam query string dengan tanda ‘?’
contoh:
int age = 21;
String query= “Update Users set
age=? where name=‘John’”;
PreparedStatement st = connection.prepareStatement(query);
st.SetInt (1, age);
6. Proses Resulset
Hasil dari query
disimpan dalam ResultSet
Direpresentasikan
oleh tabel dengan baris dan kolom
Untuk
mengiterasi melalui tiap rows dari ResultSet:
while (rs.next()) {
String name
= rs.getString(1);
int age =
rs.getInt(“age”);
}
next() melangkah ke row berikutnya dalam ResultSet
2 cara untuk mendapatkan
hasil dari ResultSet
Melalui posisi
kolom
Dimulai dari
angka 1
Dapat terjadi
mismatch antara nomor kolom dalam result set dan table asli
Melalui nama
kolom
7. Menutup Koneksi
panggil
connection.close() ketika selesai mengakses
Open connection
ke database menggunakan resource sistem
Kita dapat
kehabisan koneksi utamanya dalam lingkungan multi-user
menutup koneksi
dapat tidak dilakukan kalau database masih akan dioperasikan
sekian dulu..
wassalam..