Senin, 09 Februari 2009

Cara termudah membuat JTabel langsung databse kedalam di Java. (Versi Netbeans)

Membuat Tabel dalam Java emang gampang-gampang gampang, he. Ya daripada harus dibuat susah, mending digampang-gampangin.

Untuk membuat table di java sebenarnya gampang, langkah yang mesti dilakukan sebagai berikut:

  • Buat Model Tabelnya, buat sebuah Class, kemudian Extend-kan AbstractTableModel. (bisa juga sih meggunakan DefaultTableModel)
  • Buat table baru dengan Model yang kita Buat.

Ex.
JTable table=new JTable(model);
Atau
JTable table=new JTable();
Table.setModel(model );


Kalau pake Netbeans malah lebih gampang lagi tinggal buat Project, buat Sebuah JFrame, masukan JTable Atur Modelnya di pallete Properties.Tapi masalahnya adalah ketika kita ingin memmbuat sebuah program yang dinamis (kita ingin field ini ada, field itu gak ada, dll), dan kita berurusan dengan berpuluh-puluh script query yang mesti di exsekusi dan ditampilkan hasilnya di dalam JTabel, hayoo Gimana tuh, pasti repot .

Tapi tenannnnnng, BlackOntaZone punya solusi jitu untuk mengatasi hal ini.

Ok Siap Boss? Kita mulai

Untuk project ini kita bisa pake Netbeans sebagai alat bantu.


Buka Netbeans dan Buat Project biarkan Set Main Project dan Create Main Class.

Buat Package-package nama_project , nama_project.db, nama_project.ui, seperti gambar dibawah ini:


Kemudian pada Package nama_project.db buat Class baru dengan nama Koneksi dan JDBCModel (Nama Bebas lah).

Kemudian pada Package ui buat Class baru dengan nama TabelView (Nama Bebas Juga lah) Ingatkan untuk selalu memisahkan class sesuai dengan fungsinya didalam Package.

Langkah selanjutnya, Buka Class Koneksi dan beri nama, kemudian ketikan kode berikut:


package jdbctabel.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Koneksi {

Connection koneksi;
private String urlDB="jdbc:mysql://localhost/nama_database";
private String username="root";
private String pass="password_mysql";

public Koneksi(){
}
public boolean buatKoneksi(){
try{
Class.forName("org.gjt.mm.mysql.Driver");
koneksi=DriverManager.getConnection(urlDB, username, pass);
}catch(Exception e){
e.printStackTrace();
return false;
}
return true;
}

public Statement getStatemen(){
if(buatKoneksi()){
try{
Statement state=koneksi.createStatement();
return state;
}catch(SQLException e){
e.printStackTrace();
return null;
}
}else return null;
}
}

Langkah kedua, buka Class JDBC Table Kebudian Ketikan kode Berikut di awal Class:

Kemudian Buat Variable judulTabel, dan isiTabel;




Akan ada indicator error di kiri Workspace, klik Implement All Abstract Model.


Ganti code bawaan Netbeans dengan kode berikut:

Kalau sudah, buat Method untuk mengmbil record dari database:

public void buatTabel(String sql){
Statement state=new jdbctabel.db.Koneksi().getStatemen();
try{
ResultSet hasil=state.executeQuery(sql);
ResultSetMetaData meta=hasil.getMetaData();
judulTabel=new String[meta.getColumnCount()];
ArrayList sem=new ArrayList();
for(int i=0; i < meta.getColumnCount();i++){
sem.add(meta.getColumnName(i+1));
}
judulTabel=new String[sem.size()];
sem.toArray(judulTabel);


hasil.last();
isiTabel=new Object[hasil.getRow()][judulTabel.length];
hasil.beforeFirst();
int baris=0;
while(hasil.next()){
for(int i=0;i<judulTabel.length;i++){
isiTabel[baris][i]=hasil.getString(i+1);
}
baris++;
}
}catch(Exception e){
e.printStackTrace();
}
}


Tambahkan method diatas pada bagian constructor class:


Tambahkan lagi sebuah Method untuk meng-override method getColumnName():

@Override

public String getColumnName(int index){

return judulTabel[index];

}


Setelah itu, buat sebuah JFrame kemudian tambahkan sebuah JTable kedalamnya.

Pada property model klik tombol ellipsis kemudian pilih Coostum Code.


Lalu ketikan kode berikut:

new jdbctabel.db.JDBCModel("SELECT * FROM mahasiswa");

Jangan Lupa untuk menambahkan kode ini di Class Main:


Nah nah nah beres deh


Gimana, Gampangkan……

Q: Gampang sih, tapi koq judul kolomnya masih gitu, kan ga lucu kalau judul Kolomnya kayak gitu?? Bagusnya sih no, nama, kota, no_hp nya diganti No, Nama Mahasiswa, Kota Asal, No Handphone, iya kan??? Bisa gak Pik???.

O: O…. tenang za, BlackOntaZone punya tipsnya, supaya judul tabelnya sesuai dengan keinginan kita.

Untuk merubah judul tabelnya supaya sesuai dengan keinginan kita, kita tinggal rubah saja syntax SQL nya, misql untuk kasus diatas jadi kayak gini:

Model Awal:

new jdbctabel.db.JDBCModel("SELECT * FROM mahasiswa");

Rubah Jadi:

new jdbctabel.db.JDBCModel("SELECT no AS No, nama AS “Nama Mahasiswa”, kota AS Kota Asal, no_hp AS “No Handphone” FROM mahasiswa");


Jreng Jreng Jreng, Nama kolomnya berubah (dengan menambahkan Class untuk menyesuaikan Kolom, maka tampilannya jadi lebih enak dilihat).


Coba, trus coba untuk Brekreasi hal ini untuk mengembangkan sebuah aplikasi, siapa tau bisa buat Library sendiri. Enak kan kalo buat table di Java tinggal set Koneksinya, trus tinggal set Querynya Jadi deh.

Download Source Code: JDBC Table

Atau mau yang udah Jadi??? Tunggu aja deh. (Kalau gak sibuk ya or send an email to me on blackonta@gmail.com).


Digg Google Bookmarks reddit Mixx StumbleUpon Technorati Yahoo! Buzz DesignFloat Delicious BlinkList Furl

5 komentar: on "Cara termudah membuat JTabel langsung databse kedalam di Java. (Versi Netbeans)"

Anonim mengatakan...

Mas apa saya emang bodoh ya...bingung mas, kalau bisa tulisan lebih user friendly lagi

halo... mengatakan...

mas mo nanya.. gmana cara menyimpan, menampilkan, mengedit serta menghapus foto dlm program java. yang database nya mysql atau acces. tlong bimbingannya y mas.. maklum baru blajar... ada scripnya ga' mas???.he.he.he...

Dunia Medisku mengatakan...

makasih mz,.. tutorialnya,.
mantap bagi yang pemula kayak saya,...
terus berkarya, y mz,...

Black Onta mengatakan...

@halo he, maksudnya gimana? klo foto nya di masukan dalam database tinggal gunakan sintax SQL, tp klo fotonya file, dan disimpan di folder lokal, coba gunakan clas yang terdapat do package io

@candra thnx

Anonim mengatakan...

mas, gimana cara ngoneksikan progrram java dengan pemorograman yang lain. Maksudnya bisa pilih mysql, oracle, atau yang lain....