Download ResultSet

Document related concepts
no text concepts found
Transcript
Materi
 MyODBC
 MySQL Connector/J
 Driver
 Connection
 Statement
 ResultSet
 PrepareStatement
 Advanced ResultSet
 Penerapan Operasi CRUD
 Studi kasus Online BookShop
Tujuan Instruksional Khusus
 Mahasiswa dapat membangun koneksi aplikasi
Java dengan sumber data yang digunakan untuk
melakukan operasi CRUD.
Java Database Connectivity
 JDBC (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.
MyODBC
 Connector/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/J
 Standardized 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/J
 Untuk 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/J
 Hasilnya sbb :
Library MySQL
JDBC Driver sudah
ditambahkan
Driver
 Untuk membuat koneksi dari Java ke MySQL
memerlukan class yang bernama Driver.
 Setiap connector (yang digunakan
MySQLConnectorJava) memiliki Driver masingmasing 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();
Driver
 Berikut adalah program untuk mendeteksi Driver
yang digunakan :
OUTPUT
Connection
 Untuk 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");
Statement
 Statement 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
Statement
 Untuk lebih memahami penggunaan Statement dalam
program maka siapkan terlebih dahulu tabel dan form
seperti berikut ini :
tUser
txtUserID
txtPassword
cmdSimpan
cmdUpdate
cmdHapus
cmdClose
 Catatan : DBMS yang digunakan adalah MySQL dan
IDE yang digunakan adalah NetBeans 7.0
Statement - Insert
 Melalui Statement Anda dapat melakukan proses
Insert. Lihat potongan kode program berikut ini:
Statement - Delete
 Melalui Statement Anda dapat melakukan proses
Delete. Lihat potongan kode program berikut ini:
Statement - Update
 Melalui Statement Anda dapat melakukan proses
Update. Lihat potongan kode program berikut ini:
ResultSet
 SELECT 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.
ResultSet
 Perhatikan 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 ResultSet
 Selain 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 Data
 Berbeda 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 BookShop
 Buat database dengan nama dbBookShop
 Desain tabel-tabel seperti berikut :
1. Tabel untuk menampung kategori buku : tKategori
2. Tabel Penulis Buku : tBuku
3. Tabel untuk Penerbit Buku : tPenerbit
4. Tabel Buku : tBuku
5. Tabel Order Buku : tOrder
6. 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 Interface
 Desain User Interfase sesuai dengan tabel-tabel di atas
 Sebagai contoh desain UI untuk menginputkan data
Penulis Buku seperti berikut ini :
JTextField
JRadioButton
JTextArea
JButton
Variable Name
txtKode
txtNama
txtEmail
male
female
txtAlamat
cmdSimpan
cmdUpdate
cmdHapus
cmdClose
Agar lebih jelas
perhatikan
pada bagian
Member View
(NetBeans)
yang
menunjukkan
variable name
dari masingmasing
komponen UI
Methods
Methodmethod 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 :
tKategori
tPenulis
tPenerbit
Tabel Transaksi
Nama-nama
penulis yang di
ambil dari tabel
tPenulis
KodeProgram – Menampilkan data dari tabel tPenulis