Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Java Database Programming
2
Komunikasi aplikasi dan database
Aplikasi dan sistem database tidak menggunakan bahasa dan mekanisme yang sama. Sehingga program harus membangun koneksi ke database target sebelum dapat menjalankan statement SQL
3
JDBC Aplikasi Java tidak dapat mengakses data pada database secara langsung, JDBC merupakan interface yang menghubungkan antara aplikasi Java dan database ? JAVA application Database
4
JDBC JDBC – Java DataBase Connectivity
Merupakan API (terdiri dari kumpulan class dan method) untuk bekerja dengan database dalam java code Tujuan Utama : untuk membuat java code independen dari database aktual yang digunakan
5
JDBC JDBC menyediakan interface diatas berbagai modul konektifitas database yang beragam JDBC didesain untuk bekerja dengan cara yang sama terhadap berbagai relasional database Oracle database JAVA Application JDBC MS SQL Server MySQL Server
6
Arsitektur
7
Arsitektur Setiap database mempunyai driver masing-masing
JDBC driver manager berkomunikasi dengan driver yang selanjutnya akan berkomunikasi secara langsung ke database JDBC API - Menyembunyikan detail implementasi - murni dalam code java - tidak menyembunyikan implementasi SQL antara berbagai DBMS
8
Data Types Konversi SQL data types ke Java data types Integer – int
Varchar2 – String Real – float Bit – boolean Date – java.sql.Date Time, TimeStamp – java.sql.Timestamp;
9
Getting Started with JDBC
Gunakan JDBC driver yang tepat: Oracle: /usr/local/oracle/jdbc/lib/ojdbc14.jar on eniac or the Oracle web site. MySQL: Netbeans: built in Tambahkan file ke Java classpath: Set CLASSPATH environment variable on CLI OR Within your IDE
10
7 langkah dalam JDBC Load driver Tentukan URL koneksi
Membangun koneksi Membuat objek statement Execute query Proses Result Menutup koneksi
11
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); }
12
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, default) Bagian terakhir menjelaskan nama database yang digunakan (mysql)
13
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
14
Membuat objek statement
Objek statement sederhana: Statement statement = connection.createStatement(); 3 tipe objek statement: Statement Prepared Statement Callable Statement
15
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);
16
Execute query Bagaimana query yang merubah database?
String query= “Update Users set age=21 where name=‘John’”; panggil executeUpdate() untuk statements seperti INSERT, UPDATE, DELETE, etc Cth: ResultSet rs = statement.executeUpdate(query); ResultSet akan mengandung jumlah rows(baris) yang telah dimodifikasi oleh perintah update
17
Execute 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);
18
Proses hasil 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”); }
19
Proses hasil 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
20
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
21
Contoh program import java.sql.*; public class SimpleJDBC { public static void main(String[] args) throws SQLException, ClassNotFoundException { // Load JDBC driver Class.forName("com.mysql.jdbc.Driver"); System.out.println("Driver loaded"); // membangun koneksi Connection connection = DriverManager.getConnection ("jdbc:mysql://localhost/test"); System.out.println("Database connected"); // membuat objek statement Statement statement = connection.createStatement(); // Execute statement ResultSet resultSet = statement.executeQuery ("select kd_user, user_name, user_pass from admin"); // Process result while (resultSet.next()) System.out.println(resultSet.getString(1) + "\t" + resultSet.getString(2) + "\t" + resultSet.getString(3)); // Close connection connection.close(); }
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.