Jumat, 02 Desember 2011

Menampilkan Data Mysql Dengan Jtable


Oke di tulisan kali ini penulis mencoba membagi ilmu yang baru saja penulis terapkan..Maklum baru belajar Java..Biar tidak lupa saya memilih untuk menulisnya disini..Selain menambah daya ingat saya juga bias menolong teman – teman yang baru belajar java dan tidak sengaja menemukan situs ini yang ikut memadati internet …:)


Mungkin di internet banyak sekali bertebaran artikel bagaimana menampilkan data dari mysql, ada yang menggunakan wizard netbean,atau memakai komponen binding ke database..ada juga yang menampilkan data dengan jtable tapi nama header table mengikuti nama kolom di mysql..Setelah petualangan yang melelahkan, baca san abaca sini akhirnya saya bias membuat sebuah table untuk menampilkan data mysql dengan header table sesuai kehendak kita…sederhana tapi bagi saya sesuatu yang sangat besar ..

Persiapan



- anda harus tahu terlebih dulu bagaimana membuat sebuah table dalam java, jika tidak maka anda akan jadi seperti saya yang pusing tujuh keliling, panas dingin makan tak enak dan tidur tak nyenyak selama 3 hari..hanya untuk menampilkan data di mysql dengan jtable..

- Netbean 6.0 Sebagai IDE untuk java





- Mysql database

- Kemauan yang keras

Proof OF Concept
Buat Project baru dengan cara File > New > Java > Java Aplication > next Beri Project name dengan db_lagi Klik finish
Ketik kode berikut :

<code>
package db_lagi;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;
/**
*
* @author CHIPRODOY
*/
public class Main {
/**
* @param args the command line arguments
*/
public Main() {
try {
Class.forName(“com.mysql.jdbc.Driver”); // load mysql driver
Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost/rptmasterdetail”, “root”, “”); // lakukan koneksi ke localhost table rptmaster dgn user root
Statement stmt = conn.createStatement();
ResultSet rs =stmt.executeQuery(“Select * from t_barang”);
// eksekusi query
ResultSetMetaData rsmd =rs.getMetaData(); //mendapatkan meta data dari database
int intnum =rsmd.getColumnCount(); // hitung jumlah kolom

String[] kolom ={“Id Barang”,”kode Barang”,”Kode Kategori”,”nama barang”}; // nama kolom tabel
// memformat table beserta isi
DefaultTableModel model =new DefaultTableModel();
model.setColumnIdentifiers(kolom); // set header kolom
while (rs.next()){ // lakukan perulangan sampai akhir data
String[] data= new String[intnum];
for (int i=0;i<intnum;i++){
data[i] = rs.getString(i+1); // tampung isi field database ke array data
}
model.addRow(data); tambahkan baris table sesuai data

}
JTable tbl2=new JTable(model); // buat table dgn format model
JFrame frm=new JFrame(); // buat frame baru
frm.add(new JScrollPane(tbl2)); menambahkan scrollpane ke form
frm.setSize(500,300); // set ukuran form
frm.setVisible(true); // tampilkan form
} catch (ClassNotFoundException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
System.out.println(ex);
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}

}
public static void main(String[] args) {
// TODO code application logic here
SwingUtilities.invokeLater(new Runnable(){
public void run() {
new Main(); // panggil fungsi main
}

});
}
}
</code>

Klik kanan pada libraries yang ada pada tab projects lalu pilih add library >>pilih mysql jdbc driver
Running

0 komentar:

Posting Komentar

 
Design by Automotive | Bloggerized by Free Blogger Templates | Hot Deal