Program Koneksi JAVA ke MySql
Assalamu'alaikum Wr.Wb
Pada kesempatan kali ini, saya ingin berbagi ilmu sedikit mengenai cara membuat sebuah program di Java yang terkoneksi dengan Mysql.
Pertama-tama, saya akan menjelaskan apa itu Mysql terlebih dahulu.
MySql adalah sebuah perangkat lunak sistem manajemen basis data SQL (database management system). Menggunakan bahasa SQL (Structured Query Language) sebagai bahasa dasar untuk mengakses databasenya. Secara umum, SQL terdiri dari dua bahasa, yaitu:
Jika kita klik insert, makan akan keluar tampilan berikut
Nah, jangan lupa untuk add library Mysql JDBC Driver pada NetBeans juga ya guys, caranya :
Pada kesempatan kali ini, saya ingin berbagi ilmu sedikit mengenai cara membuat sebuah program di Java yang terkoneksi dengan Mysql.
Pertama-tama, saya akan menjelaskan apa itu Mysql terlebih dahulu.
MySql adalah sebuah perangkat lunak sistem manajemen basis data SQL (database management system). Menggunakan bahasa SQL (Structured Query Language) sebagai bahasa dasar untuk mengakses databasenya. Secara umum, SQL terdiri dari dua bahasa, yaitu:
- Data Definition Language (DDL)
- Data Manipulation Language (DML)
Mari kita langsung jump to the topic about "How To Make a Java Programming that Connected to Mysql" ☺✌
- Create Database
Disini saya telah membuat database nya. Dengan nama database "Tujuh" dan nama table "pbo_buku". Jika kalian ingin mengetahui cara membuat database di Sql kalian bisa klik tautan berikut. Cara Membuat Database dan Table di Mysql. Karena sebelumnya saya sudah membuat database nya, kita hanya tinggal mengecheck database tersebut di cmd mysql.
2. Source Code untuk Java class "Koneksi"
package Tujuh7;
import java.sql.*;
/*
*/
/**
*
* @author FASILKOM
*/
public class koneksimysql {
Connection conn;
public koneksimysql()
{
try
{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/tujuh","root","");
}catch(ClassNotFoundException | SQLException e)
{
javax.swing.JOptionPane.showMessageDialog(null, e);
}
}
public Connection getConnection()
{
return conn;
}
public static void main(String[] aksi)
{
koneksimysql kon=new koneksimysql();
}
}
3. Berikut detail source code untuk membuat GUI atau design tampilan untuk mengambil data dari database nya. Disini saya membuat nama file "GUIMySql". Kita gunakan JFrame Form untuk membuat GUI ini.
package Tujuh7;
import javax.swing.table.DefaultTableModel;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import Tujuh7.koneksimysql;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author FASILKOM
*/
public class GUIMysql extends javax.swing.JFrame {
Connection conn;
Statement stmt;
ResultSet rs;
koneksimysql koneksi;
DefaultTableModel tabmode;
/**
* Creates new form GUIMysql
*/
public GUIMysql() {
initComponents();
koneksi=new koneksimysql();
conn=koneksi.getConnection();
tampiltable();
}
void tampiltable()
{
Object[] kolom={"kode_buku","judul","pengarang","penerbit","ISBN","jenis","thn_terbit","kategori",
"harga beli","diskon","harga pokok","harga jual","stok"};
tabmode=new DefaultTableModel(null,kolom);
String strsql="select * from pbo_buku";
try
{
stmt=conn.createStatement();
rs=stmt.executeQuery(strsql);
while(rs.next())
{
String[] data={rs.getString("kode_buku"),rs.getString("judul"),rs.getString("pengarang"),
rs.getString("penerbit"),rs.getString("ISBN"),rs.getString("jenis"),rs.getString("thn_terbit"),
rs.getString("kategori"),rs.getString("hargabeli"),rs.getString("diskon"),rs.getString("hargapokok"),
rs.getString("hargajual"),rs.getString("stok")};
tabmode.addRow(data);
}
}catch(SQLException e)
{
javax.swing.JOptionPane.showMessageDialog(null, e);
}
jTable2.setModel(tabmode);
}
void ambilData()
{
Object[] kolom={"kode_buku","judul","pengarang","penerbit","ISBN","jenis","thn_terbit","kategori",
"harga beli","diskon","harga pokok","harga jual","stok"};
tabmode=new DefaultTableModel(null,kolom);
String strsql="select * from pbo_buku";
try
{
stmt=conn.createStatement();
rs=stmt.executeQuery(strsql);
while(rs.next())
{
String[] data={rs.getString("kode_buku"),rs.getString("judul"),rs.getString("pengarang"),
rs.getString("penerbit"),rs.getString("ISBN"),rs.getString("jenis"),rs.getString("thn_terbit"),
rs.getString("kategori"),rs.getString("hargabeli"),rs.getString("diskon"),rs.getString("hargapokok"),
rs.getString("hargajual"),rs.getString("stok")};
tabmode.addRow(data);
}
}catch(SQLException e)
{
javax.swing.JOptionPane.showMessageDialog(null, e);
}
jTable2.setModel(tabmode);
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jButton1 = new javax.swing.JButton();
jScrollPane2 = new javax.swing.JScrollPane();
jTable2 = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jButton1.setText("Insert");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jTable2.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null, null}
},
new String [] {
"Kode Buku", "Judul", "Pengarang", "Penerbit", "I SBN", "Jenis", "Thn Terbit", "Kategori", "Harga Beli", "Diskon", "Harga Pokok", "Harga Jual", "Stock"
}
));
jScrollPane2.setViewportView(jTable2);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jButton1)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 1008, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton1)
.addGap(33, 33, 33)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
TampilData tmpl = new TampilData();
tmpl.setVisible(true);
this.dispose();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(GUIMysql.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(GUIMysql.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(GUIMysql.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(GUIMysql.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new GUIMysql().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTable jTable2;
// End of variables declaration
}
4. Source code button insert
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
TampilData tmpl = new TampilData();
tmpl.setVisible(true);
this.dispose();
}
5. Source Code untuk class "TampilData"
package Tujuh7;
import javax.swing.table.DefaultTableModel;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import Tujuh7.koneksimysql;
import java.sql.PreparedStatement;
public class TampilData extends javax.swing.JFrame {
Connection conn;
Statement stmt;
ResultSet rs;
koneksimysql koneksi;
DefaultTableModel tabmode;
/**
* Creates new form TampilData
*/
public TampilData() {
initComponents();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
GUIMysql f3 = new GUIMysql();
f3.setVisible(true);
this.dispose();
}
public static void main(String args[]) {
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(TampilData.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(TampilData.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(TampilData.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(TampilData.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new TampilData().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField10;
private javax.swing.JTextField jTextField11;
private javax.swing.JTextField jTextField12;
private javax.swing.JTextField jTextField13;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jTextField4;
private javax.swing.JTextField jTextField5;
private javax.swing.JTextField jTextField6;
private javax.swing.JTextField jTextField7;
private javax.swing.JTextField jTextField8;
private javax.swing.JTextField jTextField9;
// End of variables declaration
}
Nah, jangan lupa untuk add library Mysql JDBC Driver pada NetBeans juga ya guys, caranya :
Comments
Post a Comment