+44(0) 1234 567 890 info@domainname.com

January 13, 2008

Koneksi JSP dengan MySQL

3:22 PM

Share it Please
Ada sebuah kasus sebagai berikut.
Saya mempunyai sebuah database di MySQL dan sebuah tabel didalamnya. Saya ingin menampilkan table tersebut melalui bahasa pemrograman JSP (Java Server Pages) di web aplikasi. Dan saya menggunakan IDE Eclipse untuk membantu menyelesaikan kasus tersebut. Bagaimana caranya? Ok. guys. Sekedar berbagi ilmu dan mendokumentasikan ilmu saya, manakala suatu saat dibutuhkan maka tinggal melihat saja dokumen ini,ha ha ha..

Saya ambil contoh misalnya database saya bernama "fokus", pengguna MySQL server ini adalah "java", dan passwordnya "java". Sedangkan tabel yang akan saya akses bernama negara yang terdiri dari 4 kolom, yaitu "No", "Negara", "Ibukota", dan "Keterangan". Ini perlu didefinisikan terlebih dahulu sebab ada hubungannya nanti ketika akan mengakses database tersebut.

Pada dasarnya koneksi JSP dengan database MySQL sama dengan koneksi java dengan MySQL. Dengan memakai IDE Eclipse atau Netbeans, seorang programmer akan lebih produktif dalam menyelesaikan projectnya. Sebab IDE-IDE tersebut menyediakan content assist yang sangat membantu sekali. Saya lebih cenderung suka menggunakan Eclipse karena source code java class-nya tidak berantakan jika dibuka dengan notepate, sehingga lebih mudah dipelajari. Sedangkan Netbeans tidak sama dengan Eclipse, namun keduanya mempunyai kelebihan masing masing. (Halah, kok jadi ngelantur kemana-mana, Oce boss. Lanjutkan.....)

Install Driver Connector MySQL di Eclipse
1. Download driver MySQL Connector, lalu ekstak file tersebut dan cari file bernama mysql-connector-java-5.0.8-bin.jar. Versinya bisa macam-macam, dan saya menggunakan versi jav.5.0.8 ini.
2. Copy file tersebut ke dalam folder lib web project.
3. Klik kanan web project > Build Path > Configure Build path... > Add jars > Cari file mysql-connector-java-5.0.8-bin.jar. Gambarnya seperti klik disini. Dengan demikian connector MySQL sudah terpasang.

Mengeksekusi query MySQL melalui JSP.
1. Buat form pada halaman berekstensi .html atau .jsp untuk form inputan dan sebuah tombol submit dengan sebuah action. Action ini nanti digunakan untuk mengeksekusi query database MySQL. Misal actionnya saya beri nama sukses.jsp
2. Berdasarkan database dan keterangan diatas saya bisa menambahkan scriprt sebagai berikut diatas head file pada file sukses.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" import="java.sql.*" pageEncoding="ISO-8859-1"%>
<% ResultSet hasil=null; String negara=request.getParameter("negara"); String ibukota=request.getParameter("ibukota"); String keterangan=request.getParameter("keterangan"); Class.forName("org.gjt.mm.mysql.Driver"); Connection koneksi=DriverManager.getConnection("jdbc:mysql://localhost/fokus","java","java"); Statement stm=koneksi.createStatement(); String kueri="insert into negara (negara, ibukota,keterangan) values ('"+negara+"','"+ibukota+"','"+keterangan+"')"; int isi=stm.executeUpdate(kueri); %>

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" import="java.sql.*" pageEncoding="ISO-8859-1"%><% ResultSet hasil=null; String negara=request.getParameter("negara"); String ibukota=request.getParameter("ibukota"); String keterangan=request.getParameter("keterangan"); Class.forName("org.gjt.mm.mysql.Driver"); Connection koneksi=DriverManager.getConnection("jdbc:mysql://localhost/fokus","java","java"); Statement stm=koneksi.createStatement(); String kueri="insert into negara (negara, ibukota,keterangan) values ('"+negara+"','"+ibukota+"','"+keterangan+"')"; int isi=stm.executeUpdate(kueri); %>

3. Pada body file sukse.jsp saya isikan sebuah indikasi manakala Query berhasil dilakukan, dan sebuah link untuk melihat data yang telah dibuat tsb sebagai berikut. Dan saya tambahkan link untuk membuka tabel database, serta tulisan "Pengisian Data Negara Sukses"
<% stm.close(); koneksi.close(); %>
%
stm.close();
koneksi.close();
%>

4. Jika data query berhasil dieksekusi maka akan terlihat tampilan bahwa "Pengisian Data Negara Sukses" . Dan selanjutnya adalah menampilkan data tersebut.

Menampilkan query data eksekusi.
1. Hampir sama dengan saat mengeksekusi query diatas, namun lebih simple. Tambahkan scriptlet dan directive.page diatas head file (misal look.jsp) tsb. Misalnya sperti berikut:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" import="java.sql.*" pageEncoding="ISO-8859-1"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" import="java.sql.*" pageEncoding="ISO-8859-1"%>
<% ResultSet hasilSet=null; Class.forName("org.gjt.mm.mysql.Driver"); Connection koneksi=DriverManager.getConnection("jdbc:mysql://localhost/fokus","java","java"); Statement stmt=koneksi.createStatement(); hasilSet =stmt.executeQuery("select no,negara,ibukota,keterangan from negara"); %>

2. Pada tubuh file look.jsp saya buat 2 baris dan 4 kolom yang terdiri dari kolom untuk me-retrieve data MySQL tsb. Sebelum baris kedua pada tabel saya tambahkan kode scriptlet


<% if (hasilSet!=null){ while (hasilSet.next()){ String no=hasilSet.getString(1); String negara=hasilSet.getString(2); String ibukota=hasilSet.getString(3); String keterangan=hasilSet.getString(4); %>

3. setelah itu saya tambahkan kode ekspresion dimasing masing kolom:

<%=no %>
<%=negara %>
<%=ibukota %>
<%=keterangan %>

4. Dan sebelum table penutup saya tambahkan
<% } } %> Ini saya gunakan untuk menutup scriptlet diatas

5. Jika bisa melihat tampilan yang terdiri dari kolom No, Negara Ibukota dan keterangan, maka program telah berhasil dieksekusi.

Di dunia ini tidak ada yang tidak mungkin jika kita mau berusaha untuk membuat jadi nyata. Don't ever give up, Try and try again to be better. Error will show us where the wrong are located. Remember guys, don't ever give up.

2 komentar:

proklamator said...

thank's mudah-mudah bisa jalan walau tanpa eclipse

tyang said...

wah. semua bilang seperti itu, saya menggunakan netbeans 6.7 udah add Driver mysql, tapi masih saja ga mau connect ke database saya di php0h.com , padalah udah masukan database host, port , username , dan passwordnya.

sebenarnya apa salah saya sampe-sampe udah seminggu utak-atik, nyari informasi sana sini, bikin koneksi doang ga bisa-bisa , perasaan kalo menggunakan php gampang-gampang aja.

apakah yang salah sebenarnya?

tyang @ programcode.tk