Upload
grady-tyler
View
30
Download
0
Embed Size (px)
DESCRIPTION
Java Database Connectivity dan Studi Kasus Online BookShop. Pertemuan 4-6. TIB13 – Pemrograman Java 2 – 4-6. Materi. MyODBC MySQL Connector/J Driver Connection Statement ResultSet PrepareStatement Advanced ResultSet Penerapan Operasi CRUD - PowerPoint PPT Presentation
Citation preview
MateriMyODBCMySQL Connector/JDriverConnectionStatementResultSetPrepareStatementAdvanced ResultSetPenerapan Operasi CRUDStudi kasus Online BookShop
Tujuan Instruksional KhususMahasiswa dapat membangun koneksi
aplikasi Java dengan sumber data yang digunakan untuk melakukan operasi CRUD.
Java Database ConnectivityJDBC (Java Database Connectivity)
merupakan library yang digunakan untuk mengkoneksikan program Java dengan DBMS (Database Management System).
Melalui JDBC Anda dapat mengakses data-data pada DBMS seperti MySQL, Oracle, Microsoft ODBC dan DBMS lainnya.
Pembahasan pada materi ini menggunakan DBMS MySQL.
MyODBCConnector/ODBC is a standardized database
driver Windows, Linux, Mac OS X, and Unix platforms.
MyODBC merupakan driver untuk menghubungkan atau sebagai jembatan/penerjemah antara aplikasi dengan database engine (MySQL), sehingga aplikasi tersebut dapat mengakses sebuah database.
Dapat di download pada URL : http://www.mysql.com/downloads/connector/odbc/
MySQL Connector/JStandardized database driver for Java
platforms and development.Untuk menghubungkan antara Java dan
MySQL membutuhkan sebuah library yang bernama MySQLConnector/J.
Dapat di download pada URL : http://www.mysql.com/downloads/connector/j/
MySQL Connector/JUntuk memudahkan pengembangan aplikasi-
aplikasi Java, sebaiknya menggunakan IDE untuk Java seperti NetBeans atau Eclipse.
Untuk memasukkan library MySQLConnector/J ke sebuah project pada NetBeans, adalah dengan cara mengklik kanan pada paket Libraries, lalu pilih Add Library …
MySQL Connector/J
Pilih MySQL JDBC Driver
Lalu tekan tombol Add
Library
MySQL Connector/JHasilnya sbb :
Library MySQL JDBC Driver
sudah ditambahkan
DriverUntuk membuat koneksi dari Java ke MySQL
memerlukan class yang bernama Driver. Setiap connector (yang digunakan
MySQLConnectorJava) memiliki Driver masing-masing yang selalu mengimplementasi class Driver yang terdapat pada paket “java.sql”.
Untuk mengecek keberadaan Driver dalam MySQLConnectorJava gunakan perintah seperti ini :
Class.forName(“nama driver").newInstance();
DriverBerikut adalah program untuk mendeteksi
Driver yang digunakan :
OUTPUT
ConnectionUntuk menghubungkan Java dan MySQL Anda
harus membuat koneksi melalui class Connection yang terdapat dalam paket “java.sql”.
Dan untuk membuat koneksi, perlu diketahui nama host, port, nama database, username dan password yang akan digunakan untuk koneksi MySQL.
Cara membuat koneksi :Connection koneksi = DriverManager.getConnection(
"jdbc:mysql://host:port/database", "username",
"password");
StatementStatement digunakan untuk mengeksekusi
perintah-perintah SQL seperti seperti INSERT, UPDATE, SELECT dan DELETE.
Statement merupakan class yang terdapat dalam paket “java.sql” .
Untuk membuat Statement Anda dapat melakukan koneksi terlebih dahulu menggunakan class Connection :
Connection kon = DriverManager.getConnection(.....);
Statement statement = kon.createStatement();
OUTPUT
StatementUntuk lebih memahami penggunaan Statement
dalam program maka siapkan terlebih dahulu tabel dan form seperti berikut ini :
Catatan : DBMS yang digunakan adalah MySQL dan IDE yang digunakan adalah NetBeans 7.0
tUser
cmdSimpan
txtUserID
txtPassword
cmdClosecmdHapuscmdUpdate
Statement - InsertMelalui Statement Anda dapat melakukan
proses Insert. Lihat potongan kode program berikut ini:
Statement - DeleteMelalui Statement Anda dapat melakukan
proses Delete. Lihat potongan kode program berikut ini:
Statement - UpdateMelalui Statement Anda dapat melakukan
proses Update. Lihat potongan kode program berikut ini:
ResultSetSELECT merupakan perintah yang
menghasilkan kumpulan data dalam tabel yang ada dalam database.
Untuk mendapatkannya maka dibutuhkan bantuan class yang bernama ResultSet yang terdapat pada paket java.sql.
Untuk mendapatkan record dalam ResultSet Anda dapat menggunakan metode next() untuk mengecek apakah ada record lagi setelah record ini dan prev() untuk mengecek apakah ada record sebelum record yang saat ini terseleksi.
ResultSetPerhatikan potongan kode berikut:
Koneksi objKoneksi = new Koneksi();
Connection kon = objKoneksi.bukaKoneksi();
Statement stat = kon.createStatement();
String query = "Select * from tUser";
ResultSet data = stat.executeQuery(query);
boolean ketemu = false;
while(data.next()) {
//Proses}
PrepareStatement Selain Statement dalam JDBC kita juga
mengenal PrepareStatement yang gunanya hampir sama dengan Statement, namun perbedaannya PrepareStatement memiliki fasilitas untuk mempermudah proses INSERT, UPDATE, DELETE. Untuk membuat PrepareStatement kita bisa membuatnya lewat Connection :
Connection koneksi = DriverManager.getConnection(...);
PreparedStatement prepare =
koneksi.prepareStatement("PERINTAH SQL...");
PrepareStatement (lanjutan)Berbeda dengan Statement, pada
PrepareStatement kita harus menuliskan perintah SQL dengan ‘?’ jika kita akan mengubah data tersebut :
Connection koneksi = DriverManager.getConnection(...);
PreparedStatement prepare = koneksi
.prepareStatement(" INSERT INTO tUser "
+ " (UserID, Password) VALUES (?, ?)");
PrepareStatement (lanjutan)Selanjutnya Anda dapat mengubahnya
dengan menset tanda ‘?’ dalam perintah tersebut sesuai dengan tipe datanya menggunakan metode set[TipeData](int index, TipeData nilai).
Kemudian gunakan metode executeUpdate() untuk mengeksekusi seluruh perintahnya.
Contoh tabel tPenulis:
Insert Data
Update Data
Delete Data
View Data
Advanced ResultSetSelain Statement dan PrepareStatement,
ternyata ResultSet juga bisa kita gunakan untuk menambah data, namun untuk membuat sebuah ResultSet yang dapat mengubah data kita harus membuat Statement yang berbeda dari Biasanya :
Connection koneksi = DriverManager.getConnection(...);
Statement statement = koneksi.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet result = statement.executeQuery("SELECT ...");
Advanced ResultSet (lanjutan)Sebelum menambahkan data Anda perlu
memanggil metode moveToInsertRow(), dan untuk menambah atau mengubah data Anda bisa menggunakan metode update[TipeData](int indexAtribut, TipeData nilai) dan setelah proses berakhir gunakan metode insertRow() untuk memasukkan data yang tadi dimasukkan.
Insert Data
Update DataBerbeda dengan Statement dan PrepareStatement,
dalam ResultSet, Anda harus tahu lokasi baris / record yang akan kita ubah.
Untuk mengubah data Anda harus menentukan dulu record yang akan kita ubah dengan metode absolute(int indexRecord) milik ResultSet.
Seperti proses INSERT untuk proses UPDATE Anda juga menggunakan metode update[TipeData](int indexAtribut, TipeData nilai) dan harus diakhiri dengan metode updateRow().
Update Data
Delete Data
Studi Kasus BookShopBuat database dengan nama dbBookShopDesain tabel-tabel seperti berikut :
1. Tabel untuk menampung kategori buku : tKategori
2. Tabel Penulis Buku : tBuku3. Tabel untuk Penerbit Buku : tPenerbit4. Tabel Buku : tBuku5. Tabel Order Buku : tOrder6. Tabel Order Detail : tOrdetail
Studi Kasus BookShop
Tabel tKategori :
Tabel tPenulis :
Studi Kasus BookShop
Tabel tPenerbit :
Tabel tBuku :
Studi Kasus BookShop
Tabel tOrder :
Tabel tOrdetail :
Desain User InterfaceDesain User Interfase sesuai dengan tabel-
tabel di atas Sebagai contoh desain UI untuk
menginputkan data Penulis Buku seperti berikut ini :
JTextArea
JButton
JTextField
JRadioButton
Variable Name
txtEmail
txtNama
txtKode
txtAlamat
male female
cmdSimpan
cmdUpdate
cmdHapus cmdClose
Agar lebih jelas perhatikan pada bagian
Member View (NetBeans)
yang menunjukkan variable name dari masing-
masing komponen UI
Methods
Method-method dan
Handler Object pada class
FormPenulis
Cara kerja Program
Form Pertama kali di jalankan Setelah data di inputkan
Cara kerja Program
Setelah menekan tombol Simpan
Kembali seperti semula setelah menekan tombol OK pada kotak dialog Message
Data tersimpan ke tabel tPenulis
Catatan: Untuk menyederhanakan program maka alamat, kota dan kode pos
digabung pada field alamat
KodeProgram – Simpan Data
KodeProgram – Update Data
KodeProgram – Hapus Data
KodeProgram – Update Data
KodeProgram – Cari Data
KodeProgram – Cari Data
KodeProgram – Methods
Tabel Transaksi
Form Input data buku melibatkan tabel :tKategoritPenulistPenerbit
Tabel Transaksi
Nama-nama penulis yang di ambil dari tabel
tPenulis
KodeProgram – Menampilkan data dari tabel tPenulis