P – 10
Bab 6 : JDBC & MySQL
6.1 Tujuan
Mahasiswa mampu :
•
Mengetahui dan memahami JDBC, ODBC, langkah-langkah pemrograman JDBC dan
konfigurasinya.
•
Mengetahui dan memahami koneksi database dengan JDBC,
•
Mengetahui dan memahami manipulasi database dengan menggunakan JDBC.
6.2 Materi
1. MySQL
2. JDBC
3. Konfigurasi JDBC
4. Koneksi MySQL dengan JDBC
5. Membuat Database dan Table
6. Input, Update, Delete, Search Data
7. View Table Dengan Jtable
6.3 MySQL
•
Secara umum dalam bahasa SQL, dibagi menjadi tiga bagian :
1. DDL (Data Definition Language)
Merupakan perintah SQL yang berkaitan dengan pendefinisian suatu struktur
database, dalam hal ini database dan table. perintah DDL adalah: CREATE, ALTER,
RENAME, DROP.
2. DML (Data Manipulation Language)
Merupakan perintah SQL yang berkaitan dengan manipulasi atau pengolahan data
atau record dalam table. perintah DML antara lain: SELECT, INSERT, UPDATE,
DELETE.
3. DCL (Data Control Language)
Merupakan perintah SQL yang berkaitan dengan manipulasi user dan hak akses
(priviledges). perintah SQL yang termasuk dalam DCL antara lain: GRANT, REVOKE.
6.4 JDBC
•
JDBC = Java Database Connectivity
•
JDBC API = Application Proggramming Interface → merupakan Java API.
•
JDBC API terdiri dari class dan interface (Dalam Pemrograman Java) yang menyediakan
tools untuk mengembangkan database dan mengembangkan aplikasi database dengan
pemrograman Java sesuai dengan standar API.
•
Arsitektur JDBC API terdiri dari dua bagian, antara lain yaitu :
1. JDBC API digunakan untuk pengambangan aplikasi
2. JDBC Diver API digunakan untuk pengembangan driver
•
JDBC Driver terdiri dari empat bagian, antara lain yaitu :
1. JDBC-ODBC Bridge and ODBC Driver
▪
Menggunakan ODBC Driver untuk mengakses JDBC
2. Native API Partly Java Technology-Enable Driver
▪
Mengkonversikan perintah JDBC menjadi client API untuk DBMS tertentu.
3. Pure Java Driver for Database Middleware
▪
Mengkonversikan perintah JDBC menjadi Middleware Vendor Protocol, yang
selanjutnya diterjemaahkan oleh Middleware server ke dalam DBMS protocol.
4. Direct-to-Database Pure Java Driver
▪
Mengkonversikan perintah JDBC menjadi network protocol yang digunakan
langsung oleh DBMS.
6.5 Konfigurasi JDBC
Kebutuhan :
1.
Jdk
•
Download :
http://www.oracle.com/technetwork/java/javase/downloads/index.html
•
Install :
•
http://sidiq.mercubuana-yogya.ac.id/installasi-dan-konfigurasi-java-jdk-dan-jre-format-tar-gz-my-os-ubuntu-linux/
•
http://sidiq.mercubuana-yogya.ac.id/installasi-dan-konfigurasi-java-jdk-dan-jre-di-ubuntu-dan-windows/
2.
Xampp / Lampp
•
Microsoft Windows (XP/Vista/7/8)
Download :
http://www.apachefriends.org/en/xampp-windows.html
Install : Double klik File xampp-win32-1.7.3.exe
•
My OS / Ubuntu (Linux)
Download :
http://www.apachefriends.org/en/xampp-linux.html
Install :
dnd@riyaniezt:~$ sudo tar xvfz xampp-linux-1.7.3a.tar.gz -C /opt
3.
JDBC
•
Download “MySQL Connector For Java” :
http://dev.mysql.com/downloads/connector/j/
Install :
◦
Microsoft Windows (XP/Vista/7)
1.
Ekstrak file “mysql-connector-java-5.1.22.tar.gz”.
2.
copy-kan file “mysql-connector-java-5.1.22-bin.jar” ke directory :
“C:\Program Files\Java\jdk1.7.0_07\lib\”
◦
My OS / Ubuntu (Linux)
1.
Ekstrak file “mysql-connector-java-5.1.22.tar.gz”
2.
Copy-kan file “mysql-connector-java-5.1.22-bin.jar” ke directory :
“/opt/java/jdk1.7.0_07/lib/”
Console :
dnd@riyaniezt:~$ sudo cp mysql-connector-java-5.1.22-bin.jar /opt/java/jdk1.7.0_07/lib/
Konfigurasi CLASSPATH :
▪
Microsoft Windows (XP/Vista/7/8)
1.
Klik kanan icon My Computer, kemudian klik Properties,
2.
Kemudian pilih Advanced System Setting,
3.
Setelah muncul window System Properties,
4.
Pilih tab Advanced klik Environment Variables, maka akan muncul window
Environment Variables ,
5.
Untuk menambahkan CLASSPATH, Pada bagian System variables klik New ,
6.
Pada text box Variable name isi dengan CLASSPATH,
7.
Pada Variable value isi dengan Alamat dari directory dimana MySQL Conector
diletakkan,
.;C:\Program Files\Java\jdk1.7.0_07\lib\mysql-connector-java-5.1.22-bin.jar
8.
Klik OK sebanyak tiga kali berturut-turut,
9.
Buka Command Prompt Windows (CMD), selanjutnya ketikkan perintah,
> echo %CLASSPATH%
10. Restart komputer.
▪
My OS / Ubuntu (Linux)
1.
Edit File “Environment”,
dnd@riyaniezt:~$ sudo gedit /etc/environment
2.
Tambahkan baris perintah berikut ke dalam file “Environment” :
CLASSPATH=".:/opt/java/jdk1.7.0_07/lib/mysql-connector-java-5.1.22-bin.jar"
kemudian Save.
3.
Tulis perintah :
dnd@riyaniezt:~$ echo $CLASSPATH
4.
Restart komputer.
dnd@riyaniezt:~$ sudo reboot
6.6 Koneksi MySQL Dengan JDBC
•
Mengaktifkan JDBC Driver :
Class.forName("com.mysql.jdbc.Driver");
•
Membuat koneksi ke database :
con = DriverManager.getConnection(url,usr,pwd);
Keterangan :
•
con → merupakan variable bertipe Connection,
•
url → merupakan informasi jenis database + host database + nama database
•
usr → merupakan nama user yang digunakan untuk koneksi ke database
•
pwd → merupakan password yang digunakan untuk masuk ke database
•
Contoh program :
/* * KoneksiMySQL.java
* author : SidiQ - UMBY --- */ import java.sql.*;
class KoneksiMySQL {
String url, usr, pwd, dbn; public KoneksiMySQL() { dbn = "Prak"; url = "jdbc:mysql://localhost/" + dbn; usr = "root"; pwd = ""; }
public Connection getConnection() {
Connection con = null; try
{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(url, usr,pwd); System.out.println("Ok : Driver Ditemukan"); }
catch (ClassNotFoundException e) {
System.out.println("Error: Driver Tidak Ditemukan \n" +e+ "\n"); }
catch (SQLException e) {
System.out.println("Error: Tidak Bisa Koneksi Ke Database \n"+e+"\n"); }
return con; }
private void PembuatDialog() {
System.out.println("Created By : DnD ~ http://sq.web.id"); System.exit(0);
}
public static void main(String[] args) {
KoneksiMySQL dnd = new KoneksiMySQL(); dnd.getConnection();
dnd.PembuatDialog(); }
Output :
6.7 Membuat Database dan Table
Database :
mysql > CREATE DATABASE Prak; mysql > USE Prak ;
Table Dengan MySQL :
mysql > CREATE TABLE `Prak`.`T_Mahasiswa` ( `NIM` char( 10 ) , `Name` varchar( 40 ), `Address` varchar( 45 ), `Gender` varchar( 6 ), `Kelas` varchar( 20 )) ;
Table Dengan MySQL dan JAVA :
•
Dalam pemrograman Java pernyataan DDL (CREATE, DROP, ALTER) dijalankan dengan
menggunakan method executeUpdate.
String sql = "CREATE TABLE T_Mahasiswa"+"(NIM char(10),"+
"Name varchar(40),"+"Address varchar(45)," + "Gender varchar(6), " +"Kelas varchar(20))"; stmt.executeUpdate(sql);
•
Contoh program :
/* * SetupTable_Mahasiswa.java * author : SidiQ - UMBY --- */ import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.sql.*; class SetupTable_Mahasiswa {
public static void main(String args[]) {
KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getConnection(); try
{
Statement stmt = mysql.createStatement();
String sql = "CREATE TABLE T_Mahasiswa"+"(NIM char(10),"+ "Name varchar(40),"+"Address varchar(45)," + "Gender varchar(6), " +"Kelas varchar(20))"; stmt.executeUpdate(sql);
stmt.close();
JOptionPane.showMessageDialog(null, "Table Mahasiswa Berhasil Dibuat"); }
catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } }
}
Output :
Keterangan :
•
Pernyataan SQL yang seharusnya diakhir pernyataan selalu diakhiri dengan tanda
titik koma “ ; “, dalam pemrograman Java tidak perlu menambahkan tanda titik
koma “ ; “ tersebut, karena akan secara otomatis tanda titik koma “ ; “ akan
dilakukan oleh JDBC API.
6.8 Input Table
Input Table Dengan MySQL :
mysql > INSERT INTO `T_Mahasiswa` VALUES ( 'NIM', 'Name','Address','Gender','Kelas');
Input Table Dengan Java :
•
Contoh input table dengan Java :
String sql = "INSERT INTO T_Mahasiswa VALUES ('"+NIM+"',
'"+Name+"','"+Address+"','"+Gender+"','"+Kelas+"');"; stmt.executeUpdate (sql);
•
Contoh program :
/* * Input_Mahasiswa.java * author : SidiQ - UMBY --- */ import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*;
class Input_Mahasiswa extends JFrame {
JLabel labelNIM=new JLabel("NIM"); JTextField textNIM=new JTextField(30); JLabel labelName=new JLabel("Name"); JTextField textName=new JTextField(30); JLabel labelAddress=new JLabel("Address"); JTextField textAddress=new JTextField(50); JLabel labelGender=new JLabel("Gender"); JButton buttonSAVE=new JButton("SAVE"); JButton buttonEXIT=new JButton("EXIT");
JRadioButton radioMale=new JRadioButton("Male"); JRadioButton radioFemale=new JRadioButton("Female"); ButtonGroup groupGender=new ButtonGroup();
JLabel labelClass=new JLabel("Class");
String[] GClass={"Morning","Evening","Extension"}; JComboBox comboClass=new JComboBox(GClass); Input_Mahasiswa() { setTitle("Data Mahasiswa"); setLocation(300,100); setSize(300,200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } void GUI() { getContentPane().setLayout(null); getContentPane().add(labelNIM); labelNIM.setBounds(10,10,70,20); getContentPane().add(textNIM); textNIM.setBounds(80,10,110,20); getContentPane().add(labelName);labelName.setBounds(10,30,70,20); getContentPane().add(textName); textName.setBounds(80,30,110,20); getContentPane().add(labelAddress);labelAddress.setBounds(10,50,70,20); getContentPane().add(textAddress); textAddress.setBounds(80,50,160,20); getContentPane().add(labelGender); labelGender.setBounds(10,70,70,20); getContentPane().add(radioMale); radioMale.setBounds(80,70,80,20); getContentPane().add(radioFemale); radioFemale.setBounds(160,70,80,20); groupGender.add(radioMale); groupGender.add(radioFemale);
getContentPane().add(labelClass);labelClass.setBounds(10,90,70,20); getContentPane().add(comboClass);comboClass.setBounds(80,90,100,20); getContentPane().add(buttonSAVE); buttonSAVE.setBounds(60,120,90,20); getContentPane().add(buttonEXIT);buttonEXIT.setBounds(160,120,80,20); setVisible(true); }
void Perintah() { // button exit buttonEXIT.addActionListener ( new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (JOptionPane.showConfirmDialog(
null, "Apakah Anda benar-benar akan keluar?","Konfirmasi", JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) { System.exit(0); } } } ); //button save buttonSAVE.addActionListener ( new ActionListener() {
public void actionPerformed (ActionEvent e) {
String NIM, Name, Address, Gender, Kelas; NIM = textNIM.getText(); Name = textName.getText(); Address = textAddress.getText(); if(radioMale.isSelected()==true) { Gender = radioMale.getText(); } else { Gender = radioFemale.getText(); } Kelas = (String) comboClass.getSelectedItem(); //input ke database
KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getConnection(); try
{
String sql = "INSERT INTO T_Mahasiswa VALUES ('"+NIM+"', '"+Name+"','"+Address+"','"+Gender+"','"+Kelas+"');"; int i = stmt.executeUpdate (sql); if (i == 1) { JoptionPane.showMessageDialog(null, "Data Mahasiswa Berhasil Disimpan"); }
}
catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } }); }
public static void main(String[]args) {
Input_Mahasiswa sq=new Input_Mahasiswa(); sq.GUI();
sq.Perintah(); }
}
6.9 Search dan Update
Update Table Dengan MySQL :
mysql > UPDATE `T_Mahasiswa`SET `Name`='Name', `Address`='Address', `Gender`='Gender', `Kelas`='Kelas' WHERE `NIM`='NIM';
Update Table Dengan Java :
•
Contoh update data dengan Java :
String sql = "UPDATE T_Mahasiswa SET Name='"+Name+"', Address='"+Address+"', Gender='"+Gender+"', Kelas='"+Kelas+"' WHERE NIM='"+NIM+"'"; int i = stmt.executeUpdate (sql);
•
Contoh program :
/* * Update_Mahasiswa.java * author : SidiQ - UMBY --- */ import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*;class Update_Mahasiswa extends JFrame {
JLabel labelNIM=new JLabel("NIM"); JTextField textNIM=new JTextField(30); JLabel labelName=new JLabel("Name"); JTextField textName=new JTextField(30); JLabel labelAddress=new JLabel("Address"); JTextField textAddress=new JTextField(50); JLabel labelGender=new JLabel("Gender"); JButton buttonSEARCH=new JButton("SEARCH"); JButton buttonUPDATE=new JButton("UPDATE"); JButton buttonEXIT=new JButton("EXIT");
JRadioButton radioMale=new JRadioButton("Male"); JRadioButton radioFemale=new JRadioButton("Female");
ButtonGroup groupGender=new ButtonGroup(); JLabel labelClass=new JLabel("Class");
String[] GClass={"Morning","Evening","Extension"}; JComboBox comboClass=new JComboBox(GClass); Update_Mahasiswa() { setTitle("Data Mahasiswa"); setLocation(300,100); setSize(300,200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } void GUI() { getContentPane().setLayout(null); getContentPane().add(labelNIM); labelNIM.setBounds(10,10,70,20); getContentPane().add(textNIM); textNIM.setBounds(80,10,110,20); getContentPane().add(buttonSEARCH); buttonSEARCH.setBounds(200,10,90,20); getContentPane().add(labelName);labelName.setBounds(10,30,70,20); getContentPane().add(textName); textName.setBounds(80,30,110,20); getContentPane().add(labelAddress);labelAddress.setBounds(10,50,70,20); getContentPane().add(textAddress); textAddress.setBounds(80,50,160,20); getContentPane().add(labelGender); labelGender.setBounds(10,70,70,20); getContentPane().add(radioMale); radioMale.setBounds(80,70,80,20); getContentPane().add(radioFemale); radioFemale.setBounds(160,70,80,20); groupGender.add(radioMale); groupGender.add(radioFemale); getContentPane().add(labelClass);labelClass.setBounds(10,90,70,20); getContentPane().add(comboClass);comboClass.setBounds(80,90,100,20); getContentPane().add(buttonUPDATE);buttonUPDATE.setBounds(60,120,90,20); getContentPane().add(buttonEXIT);buttonEXIT.setBounds(160,120,80,20); setVisible(true); } void Perintah() { // button exit buttonEXIT.addActionListener ( new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (JOptionPane.showConfirmDialog(
null, "Apakah Anda benar-benar akan keluar?","Konfirmasi", JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) { System.exit(0); } } } );
// button search
buttonSEARCH.addActionListener (
new ActionListener() {
public void actionPerformed (ActionEvent e) {
String search;
String NIM, Name, Address, Gender, Kelas; KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getConnection(); try
{
search=textNIM.getText();
Statement stmt = mysql.createStatement();
String sql = "SELECT * FROM T_Mahasiswa WHERE NIM like '"+search+"'"; ResultSet i = stmt.executeQuery (sql); if(i.next()) { textNIM.setText(i.getString(1)); textName.setText(i.getString(2)); textAddress.setText(i.getString(3)); Gender = i.getString(4); if(Gender.equals("Male")) { radioMale.setSelected(true); } else { radioFemale.setSelected(true); } comboClass.setSelectedItem(i.getString(5)); } else {
JOptionPane.showMessageDialog(null, "Data Mahasiswa Tidak Ada"); }
}
catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } }); // button update buttonUPDATE.addActionListener ( new ActionListener() {
public void actionPerformed (ActionEvent e) {
String NIM, Name, Address, Gender, Kelas; NIM = textNIM.getText();
Name = textName.getText(); Address = textAddress.getText(); if(radioMale.isSelected()==true) { Gender = radioMale.getText(); } else { Gender = radioFemale.getText(); } Kelas = (String) comboClass.getSelectedItem(); //input ke database
KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getConnection(); try
{
Statement stmt = mysql.createStatement(); String sql = "UPDATE T_Mahasiswa
SET Name='"+Name+"', Address='"+Address+"', Gender='"+Gender+"', Kelas='"+Kelas+"' WHERE NIM='"+NIM+"'"; int i = stmt.executeUpdate (sql); if (i == 1) { JOptionPane.showMessageDialog(null, "Data Mahasiswa Berhasil Diupdate"); }
}
catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } }); }
public static void main(String[]args) {
Update_Mahasiswa sq=new Update_Mahasiswa(); sq.GUI();
sq.Perintah(); }
6.10 Delete
Delete
Table Dengan MySQL :
mysql > DELETE FROM `T_Mahasiswa` WHERE `NIM`='NIM';
Delete
Table Dengan Java :
•
Contoh update data dengan Java :
String sql = "DELETE FROM T_Mahasiswa WHERE NIM='"+NIM+"'"; int i = stmt.executeUpdate (sql);
•
Contoh Program :
/* * Delete_Mahasiswa.java * author : SidiQ - UMBY --- */ import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*;
class Delete_Mahasiswa extends JFrame {
JLabel labelNIM=new JLabel("NIM"); JTextField textNIM=new JTextField(30); JLabel labelName=new JLabel("Name"); JTextField textName=new JTextField(30); JLabel labelAddress=new JLabel("Address"); JTextField textAddress=new JTextField(50); JLabel labelGender=new JLabel("Gender"); JButton buttonSEARCH=new JButton("SEARCH"); JButton buttonDELETE=new JButton("DELETE"); JButton buttonEXIT=new JButton("EXIT");
JRadioButton radioMale=new JRadioButton("Male"); JRadioButton radioFemale=new JRadioButton("Female"); ButtonGroup groupGender=new ButtonGroup();
JLabel labelClass=new JLabel("Class");
String[] GClass={"Morning","Evening","Extension"}; JComboBox comboClass=new JComboBox(GClass); Delete_Mahasiswa()
{
setTitle("Data Mahasiswa"); setLocation(300,100); setSize(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } void GUI() { getContentPane().setLayout(null); getContentPane().add(labelNIM); labelNIM.setBounds(10,10,70,20); getContentPane().add(textNIM); textNIM.setBounds(80,10,110,20); getContentPane().add(buttonSEARCH); buttonSEARCH.setBounds(200,10,90,20); getContentPane().add(labelName);labelName.setBounds(10,30,70,20); getContentPane().add(textName); textName.setBounds(80,30,110,20); getContentPane().add(labelAddress);labelAddress.setBounds(10,50,70,20); getContentPane().add(textAddress); textAddress.setBounds(80,50,160,20); getContentPane().add(labelGender); labelGender.setBounds(10,70,70,20); getContentPane().add(radioMale); radioMale.setBounds(80,70,80,20); getContentPane().add(radioFemale); radioFemale.setBounds(160,70,80,20); groupGender.add(radioMale); groupGender.add(radioFemale); getContentPane().add(labelClass);labelClass.setBounds(10,90,70,20); getContentPane().add(comboClass);comboClass.setBounds(80,90,100,20); getContentPane().add(buttonDELETE);buttonDELETE.setBounds(60,120,90,20); getContentPane().add(buttonEXIT);buttonEXIT.setBounds(160,120,80,20); setVisible(true); } void Perintah() { // button exit buttonEXIT.addActionListener ( new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (JOptionPane.showConfirmDialog(
null, "Apakah Anda benar-benar akan keluar?","Konfirmasi", JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) { System.exit(0); } } } ); // button search buttonSEARCH.addActionListener ( new ActionListener() {
public void actionPerformed (ActionEvent e) {
String search;
String NIM, Name, Address, Gender, Kelas; KoneksiMySQL open = new KoneksiMySQL ();
Connection mysql = open.getConnection(); try
{
search=textNIM.getText();
Statement stmt = mysql.createStatement();
String sql = "SELECT * FROM T_Mahasiswa WHERE NIM like '"+search+"'"; ResultSet i = stmt.executeQuery (sql); if(i.next()) { textNIM.setText(i.getString(1)); textName.setText(i.getString(2)); textAddress.setText(i.getString(3)); Gender = i.getString(4); if(Gender.equals("Male")) { radioMale.setSelected(true); } else { radioFemale.setSelected(true); } comboClass.setSelectedItem(i.getString(5)); } else {
JOptionPane.showMessageDialog(null, "Data Mahasiswa Tidak Ada"); }
}
catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } }); // button delete buttonDELETE.addActionListener ( new ActionListener() {
public void actionPerformed (ActionEvent e) {
String NIM, Name, Address, Gender, Kelas; NIM = textNIM.getText(); Name = textName.getText(); Address = textAddress.getText(); if(radioMale.isSelected()==true) { Gender = radioMale.getText(); } else { Gender = radioFemale.getText(); }
Kelas = (String)
comboClass.getSelectedItem(); //input ke database
KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getConnection(); try
{
Statement stmt = mysql.createStatement();
String sql = "DELETE FROM T_Mahasiswa WHERE NIM='"+NIM+"'"; int i = stmt.executeUpdate (sql);
if (i == 1) {
JOptionPane.showMessageDialog(null,"Data Mahasiswa Berhasil Dihapus"); }
}
catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } }); }
public static void main(String[]args) {
Delete_Mahasiswa sq=new Delete_Mahasiswa(); sq.GUI();
sq.Perintah(); }
}
6.11 View Table dengan JTable
View
Table Dengan MySQL :
mysql > SELECT * FROM `T_Mahasiswa`;
View
Table Dengan Java :
•
Contoh view table dengan Java :
String sql = "SELECT * FROM T_Mahasiswa"; stmt.executeQuery(sql);
•
Contoh program :
/* * View_Mahasiswa.java * author : SidiQ - UMBY --- */ import java.awt.*;
import javax.swing.*; import javax.swing.table.*;
public class View_Mahasiswa extends JPanel {
String[] header = {"NIM","Name","Address","Gender","Class"}; JTable table = new JTable();
JScrollPane scrollTable = new JScrollPane(); private Object[][] dataTable = null;
View_Mahasiswa() {
KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getConnection(); try
{
Statement stmt = mysql.createStatement(); String sql = "SELECT * FROM T_Mahasiswa"; ResultSet rs = stmt.executeQuery(sql); ResultSetMetaData meta = rs.getMetaData(); int kolom = meta.getColumnCount(); int baris = 0; while(rs.next()) { baris = rs.getRow(); }
dataTable = new Object[baris][kolom]; int x = 0; rs.beforeFirst(); while(rs.next()) { dataTable[x][0] = rs.getString("NIM"); dataTable[x][1] = rs.getString("Name"); dataTable[x][2] = rs.getString("Address"); dataTable[x][3] = rs.getString("Gender"); dataTable[x][4] = rs.getString("Kelas"); x++; } scrollTable.setViewportView(table);
table.setModel(new DefaultTableModel(dataTable, header)); add(scrollTable, BorderLayout.NORTH);
stmt.close(); rs.close(); }
catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Data Mahasiswa Error"); }
}
void GUI() {
JFrame frame = new JFrame("Data Mahasiswa");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); View_Mahasiswa content = new View_Mahasiswa();
content.setOpaque(true); frame.setContentPane(content); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); }
public static void main(String [] args) {
View_Mahasiswa sq=new View_Mahasiswa(); sq.GUI();
} }