1 / 24

Java Database Connectivity (JDBC)

Pemrograman Berorientasi Obyek Lanjut (IT251). Java Database Connectivity (JDBC). Ramos Somya, S.Kom., M.Cs. Pendahuluan. Komunikasi aplikasi dengan database

dunne
Télécharger la présentation

Java Database Connectivity (JDBC)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pemrograman Berorientasi Obyek Lanjut (IT251) Java Database Connectivity (JDBC) Ramos Somya, S.Kom., M.Cs.

  2. Pendahuluan... • Komunikasi aplikasi dengan 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 – 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 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. ... • Setiap database mempunyai driver masing-masing • JDBC driver manager berkomunikasidengan driver yang selanjutnyaakanberkomunikasisecaralangsungke database • JDBC API - Menyembunyikan detail implementasi - Murnidalam code java - Tidakmenyembunyikanimplementasi 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: http://dev.mysql.com/downloads/connector/j/ • 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 • Membangunkoneksi • Membuatobjek statement • Execute query • Proses Result • Menutup koneksi

  11. Load the Driver • Panggilclass.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 (ClassNotFoundExceptioncnfe) { 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) • Bagian ketiga menjelaskan port number (1521, 3306 -default) • Bagian terakhir menjelaskan nama database yang digunakan (mysql)

  13. Membangun Koneksi • Panggil 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 Obyek Statement • Objek statement sederhana: Statement statement = connection.createStatement(); • 3 tipe objek statement: • Statement • Prepared Statement • Callable Statement

  15. Execute the 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: ResultSetrs = statement.executeQuery(query);

  16. ... • Bagaimana query yang merubah database? String query= “Update Users set age=21 where name=“John”; • panggilexecuteUpdate() untuk statements seperti INSERT, UPDATE, DELETE, etc • Contoh: ResultSet rs = statement.executeUpdate(query); • ResultSet akan mengandung jumlah rows(baris) yang telah dimodifikasi oleh perintah update.

  17. ... • 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”; PreparedStatementst = connection.prepareStatement(query); st.SetInt (1, age);

  18. Proses Hasil • Hasil dari query disimpan dalam ResultSet. • Direpresentasikan oleh tabel dengan baris dan kolom. • Untukmengiterasi melalui tiap rows dari ResultSet: while (rs.next()) { String name = rs.getString(1); int age = rs.getInt(“age”); }

  19. ... 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 database. • 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. Model View Controller (MVC) • Model-view-controller (MVC) adalah sebuah arsitektur perangkat lunak, Pola desain MVC memisah “logika domain” (logika aplikasi untuk pengguna) dari antarmuka pengguna (input dan presentasi).

  22. ... • MVC juga memungkinkan pengembangan yang mandiri (pemisahan tugas programmer sesuai task MVC) dan memudahkan dalam proses testing dan maintenance kode programnya, serta kode program yang dapat digunakan berulang di beberapa aplikasi yang mirip (reusable) . • Implementasi pola desain MVC dapat diterapkan pada aplikasi berbasis web maupun aplikasi desktop.

  23. Arsitektur MVC

  24. Contoh Program

More Related