Pengembangan Aplikasi Berbasis Web JSP (2)
Outline JDBC Memanggil driver JDBC Mendefinisikan URL Melakukan koneksi database Membuat object statement Melakukan query & update Memperoleh hasil Menutup koneksi Studi Kasus : insert select delete ? update ?
JDBC JDBC adalah API (Aplication Programming Interface) yang dikembangkan oleh Sun Microsystem untuk menyediakan akses data universal dalam bahasa Java. JDBC merupakan bagian dari J2SDK SE(Standart Edition). Inti JDBC adalah package java.sql dan javax.sql Mengenai JDBC secara mendetail, dapat dikunjungi di situs : http://java.sun.com/produtcs/jdbc http://java.sun.com/docs/books/tutorial/jdbc JDBC singkatan dari Java Database Connectivity ,dan merupakan koleksi API yang terdiri atas sekumpulan class dan interface yang ditulis dalam bahasa java sebagai standart API untuk developer database maupun software database.
7 langkah olah database Dalam JDBC terdapat tujuh langkah dasar untuk menangani database: Memanggil driver JDBC Mendefinisikan URL Melakukan koneksi database Membuat object statement Melakukan query & update Memperoleh hasil Menutup koneksi
memanggil driver JDBC misalnya kita akan memanggil driver untuk mysql dari mmysql.sourge.net, dapat dilakukan dengan kode sbb: try{ class.forName(“org.gjt.mm.mysql.Driver”); } catch(ClassNotFoundException e) { System.err.println(“Error loading driver: ” + e); } untuk driver yang sesuai dengan server, dapat dikunjungi pada URL sbb: http:// java.sun.com/products/jdbc/drivers.html. http://www.caucho.com http://mmysql.sourceforge.net
mendefinisikan URL untuk koneksi database Misalnya kita menyimpan url tersebut dalam variable urldb bertipe string untuk database “data” , dengan database server mysql serta host localhost dan port 3306: String urldb=”jdbc:mysql:3306//data”; Atau langsung dengan mengisi user dan password: String urldb = ”jdbc:mysql:3306//data?user=root&password=password”;
Melakukan koneksi database. Untuk melakukan koneksi database , kita harus mengirimkan informasi URL, username dan password untuk database ke metode getConnection dari class Drivermanager. Proses ini melemparkan SQLException sehingga kita perlu menggunakan blok try/catch untuk menangani Exception ini. String user = “icha”; String pass = “kosong”; Connection connection =Drivermanager.getConnection(url,user,pass); Atau bisa disingkat menjadi : DriverManager.getConnection(“url?user=namauser&password=passworddb”);
membuat objek statement. Untuk melakukan query , kita memerlukan objek Statement dan objek ini dapat dibuat dari objek Connection. Kode untuk membuat objek statemen: Statement statement = connection.createStatement();
melakukan query dan update. Setelah memiliki Statement, kita dapat menggunakan untuk mengirim query dan mengeksekusinya dengan metode executeQuery, yang mengebalikan objek bertipe ResultSet. Contoh: String query = “select kolom1, kolom2 from tabel”; ResultSet resultset = statement.executeQuery(query); Jika kita melakukan modifikasi database , kita menggunakan executeUpdate dan bukan executeQuery.
memperoleh hasil. Dalam memperoleh hasil , kita menggunakan objek Resultset karena hasil dari query disimpan dalam objek ini. Metode utama yang sering digunakan adalah metode next dan getString seperti contoh di bawah ini: While(resultSet.next()) { out.println(resultSet.getString(1) + “ “ + resultSet.getString(2)); } kode diatas akan menampilkan semua baris hasil kueri pada database yang menampilkan data kolom pertama dan kedua dengan spasi diantaranya.
menutup koneksi. Untuk melepaskan object ResultSet : statement.close(); Untuk menutup koneksi database : connection.close();
Studi Kasus penggunaan JDBC Connect Insert Select Delete ? Update ?
Connect (connect.jsp) <% String driver = "org.gjt.mm.mysql.Driver"; String url = "jdbc:mysql://localhost:3306/mahasiswa"; String user = "root"; String passwd = "password"; %>
Insert (forminput.html) <head> <title>Input database</title> </head> <body bgcolor=”#FFFFFF” text=”#000000”> <form name=”form1” method=”post” action=”inputdata.jsp”> <table width=”100%” border=”1” cellspacing=”0” cellpadding=”0”> <tr> <td>Nama : </td> <td><input type=”text” name=”tnama”></td> </tr> <td>Email : </td> <td><input type=”text” name=”temail”></td> <td>Komentar : </td> <td><input type=”text” name=”tkomentar”></td> <td><input type=”submit” name=”submit” value=”submit”></td> <td> </td> </table> </form> </body> </html>
Insert (inputdata.jsp) <%@ page language=”java” import=”java.sql.*” %> <%@ include file="connect.jsp" %> <% Resultset myResultSet=null; String nama = request.getParameter(“tnama”); String email = request.getParameter(“temail”); String komentar = request.getParameter(“tkomentar”); Class.forName(“org.gjt.mm.mysql.Driver”); Connection myConn=DriverManager.getConnection(url,user,passwd); Statement stmt= myConn.createStatement(); String kueri=”insert into bukutamu(nama,email,komentar) values (‘”+nama+”’,’”+email+”’,’”+komentar+”’)”; int isitabel= stmt.executeUpdate(kueri); %> <html> <head> <title>Membuat Tabel Buku Dengan JSP</title> </head> <body bgcolor=”#FFFFFF” text=”#000000”> if (isitabel==1){ out.println(“<h2>Penambahan data berhasil</h2><br>”); out.println(“Kueri yang dilakukan : +kueri”); } else { out.println(“Penambahan Data Gagal”); stmt.close(); myConn.close(); </body> </html>
Select (lihatdata.jsp) <%@ page language=”java” import=”java.sql.*” %> <%@ include file="connect.jsp" %> <% ResultSet myResultSet=null; Class.forName(“org.gjt.mm.mysql.Driver”); Connection myConn=DriverManager.getConnection(“jdbc:mysql:3306//data?user=root&password=password”); Statement stmt= myConn.createStatement(); myResultSet= stmt.executeQuery(“select nama,email,komentar from bukutamu”); %> <html> <head> <title>Melihat Data</title> </head> <body> <center><h2>DATA BUKU TAMU</h2></center> <table border=”1” align=”center”> <tr bgcolor=”lightgrey”> <td>ISBN</td> <td>JUDUL</td> <td>PENGARANG</td> <td>edit</td> <td>delete</td> </tr> if (myResultSet==null){ while (myResultSet.next()){ String nama = myresultSet.getString(1); String email = myresultSet.getString(2); String komentar = myresultSet.getString(3); <tr> <td> <%=nama%> </td> <td> <%=email%> </td> <td> <%=komentar%> </td> <td><a href="editdata.jsp?nama= <%=nama%> &email= <%=email%> &komentar= <%=komentar%> ">EDIT</a></td> <td><a href="prosesdelete.jsp?nama= <%=nama%> &email= <%=email%> &komentar= <%=komentar%> ">DELETE</a></td> <% } } %> </table> <% stmt.close(); myConn.close(); %> </body> </html>
SELESAI …
TUGAS II pasca UTS Sifat tugas : KELOMPOK Membuat aplikasi database JSP Dengan ketentuan : Melingkupi query : select, insert, delete, update ;) Dengan meneruskan contoh aplikasi bukutamu pada materi ini. Sertakan file (.sql) Tampilan harus Format softcopy Dikumpulkan max 2 minggu depan via email ke : ichamagi@yahoo.com subjek : “tugas_pasca_UTS_II_SIA(npm)”