Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

Pemrograman 2

Java-Mysql
Objective
• Mahasiswa dapat memahami penggunaan JDBC untuk
menghubungkan Java dengan Database Mysql
• Mahasiswa dapat memahami proses CRUD didalam penggunaan java
dan mysql
• Mahasiswa dapat membuat contoh applikasi dengan CRUD dengan
java dan mysql
Design
• Modifikasi design
sebelumnya menjadi
seperti gambar
disamping

JPanel

JTable
import
import java.text.SimpleDateFormat;
import javax.swing.JTextField; Cek Kembali class yang perlu di
Pertemuan8.fileClass.DatabaseConnection; import tambahkan dan sesuaikan
import java.sql.Connection; dari yang sebelumnya
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.DateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumnModel;
Variable
ResultSet rs;
Statement stmt;
PreparedStatement pst;
Connection conn;
DatabaseConnection db = new DatabaseConnection();

String id,fullName,email,pwd,confirmPwd,ph,gender,birth,event;

java.sql.Date dateCreated;
DefaultTableModel dt;

Cek Kembali Variable yang perlu


di tambahkan, sesuaikan dengan
yang sebelumnya
Constructor
public frmRegister() {
initComponents();
displayTable();
disableItem();
jBupdate.setEnabled(false);
jBdelete.setEnabled(false);
}

Cek Kembali Constructor yang


perlu di tambahkan, sesuaikan
dengan yang sebelumnya
Event
Code : tombol “Register”
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
event=jButton1.getText();
if(event.equals("Register")){
enableItem();
jButton1.setText("Save"); Proses insert data dipindahkan
kedalam Method “InsertData”
}else{
disableItem();
insertData();
jButton1.setText("Register");
jBupdate.setEnabled(false);
jBdelete.setEnabled(false);
}
//this.dispose();
}
Modifikasi kode program pada
tombol JButton1 / register
Code : tombol “Update”
private void jBupdateActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
event=jBupdate.getText();
if(event.equals("Update")){
enableItem();
jBupdate.setText("Save"); Proses Update data ada didalam
Method “updateData”
}else{
disableItem();
updateData();
jBupdate.setText("Update");
jBupdate.setEnabled(false);
jBdelete.setEnabled(false);
}
}
Code : tombol “Delete”
private void jBdeleteActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int confirm=JOptionPane.showConfirmDialog(null,"Yakin?");
System.out.println("Confirm : "+confirm);
if(confirm==0){
try{
String sql="DELETE FROM REGISTER WHERE id="+id;
System.out.println("SQL : "+sql);
conn=db.getConnection();
pst = conn.prepareStatement(sql);
pst.execute();
displayTable();
disableItem();
jBupdate.setEnabled(false);
jBdelete.setEnabled(false);
}catch(Exception e){
JOptionPane.showMessageDialog(rootPane, "error "+e);
}
}else{
jBdelete.setEnabled(false);
}
}
Event : JTable

Righ click on Jtable-> Event -> Mouse -> mouseClicked


Event : JTableMouseClicked
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
try{
DefaultTableModel tm = (DefaultTableModel) jTable1.getModel();
int rowId=jTable1.getSelectedRow();
id=tm.getValueAt(rowId,0).toString();
String sql="select * from register where id="+id+"";
conn =db.getConnection();
pst=conn.prepareStatement(sql);
rs=pst.executeQuery();
while(rs.next()){
jTfullName.setText(rs.getString("fullname"));
jTemail.setText(rs.getString("email"));
jPpwd.setText(rs.getString("pwd"));
jPconfirmpwd.setText(new String(rs.getString("confirmpwd")));
Event : Jtable Click

jTmobile.setText(rs.getString("phone"));
String gender=rs.getString("gender");
System.out.println("Gender :"+gender);
System.out.println("Date : "+rs.getString("birth"));
if(gender.equals("Male")){
jRadioButton1.setSelected(true);
}
if(gender.equals("Female")){
jRadioButton2.setSelected(true);
}
Date date = new SimpleDateFormat("yyyy-MM-dd").parse((String) rs.getString("birth"));
jDateChooser1.setDate(date);
jBupdate.setEnabled(true);
jBdelete.setEnabled(true);
}
}catch(Exception e){
JOptionPane.showMessageDialog(null,"Error : "+ e);
}
}
Method
void disableItem(){
Method
jTfullName.setEnabled(false);
jTemail.setEnabled(false);
jPpwd.setEnabled(false);
jPconfirmpwd.setEnabled(false);
jTmobile.setEnabled(false);
jRadioButton1.setEnabled(false);
jRadioButton2.setEnabled(false);
jDateChooser1.setEnabled(false);
}
void enableItem(){
jTfullName.setEnabled(true);
jTemail.setEnabled(true);
jPpwd.setEnabled(true);
jPconfirmpwd.setEnabled(true);
jTmobile.setEnabled(true);
jRadioButton1.setEnabled(true);
jRadioButton2.setEnabled(true);
jDateChooser1.setEnabled(true);
}
Method : removeTable

void removeTable(JTable jt) {


dt = (DefaultTableModel)jt.getModel();
int rowCount = dt.getRowCount();
for (int i = 0; i<rowCount; i++){
dt.removeRow(0);
}
}
Method displayTable
void displayTable(){
removeTable(jTable1);
String sql="select * from register";
//System.out.println("SQL : "+sql);
DefaultTableModel dt = (DefaultTableModel) jTable1.getModel();
Object rows [];
int number=0;
String Column[] = {"ID","Number", "Full Name", "Email", "Password",
"Phone", "Gender","Birth"};
dt.setColumnIdentifiers(Column);
TableColumnModel tcm = jTable1.getColumnModel();
tcm.removeColumn(tcm.getColumn(0));
try{
conn =db.getConnection();
pst=conn.prepareStatement(sql);
rs=pst.executeQuery();
Method displayTable
while(rs.next()){
int id=Integer.parseInt(rs.getString("id"));
fullName=rs.getString("fullname");
email=rs.getString("email");
pwd=rs.getString("pwd");
ph=rs.getString("phone");
gender=rs.getString("gender");
birth=rs.getString("birth");
number++;
rows=new Object[]{id,number,fullName,email,pwd,ph,gender,birth};
dt.addRow(rows);
}
}catch(Exception e){
JOptionPane.showMessageDialog(null,"Error : "+e);
}

}
Method : insertData
void insertData(){
fullName=jTfullName.getText();
email=jTemail.getText();
pwd=new String(jPpwd.getPassword());
confirmPwd=new String(jPconfirmpwd.getPassword());
ph=jTmobile.getText();
gender="";
if(jRadioButton1.isSelected()){
gender="Male";
}
if(jRadioButton2.isSelected()){
gender="Female";
}
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
birth=dateFormat.format(jDateChooser1.getDate());
String sql="INSERT INTO REGISTER
(fullname,email,pwd,confirmpwd,phone,gender,birth) VALUES(?,?,?,?,?,?,?)";
Method : insertData
try{
conn=db.getConnection();
pst=conn.prepareStatement(sql);
dateCreated = new java.sql.Date(dateFormat.parse(birth).getTime());
pst.setString(1, fullName);
pst.setString(2, email);
pst.setString(3, pwd);
pst.setString(4, confirmPwd);
pst.setString(5, ph);
pst.setString(6, gender);
pst.setDate(7, dateCreated);
pst.execute();
conn.close();
}catch(Exception e){
System.out.println("Error : "+e);
}
displayTable();
}
Method : updateData
void updateData(){
System.out.println("ID : "+id);
fullName=jTfullName.getText();
email=jTemail.getText();
pwd=new String(jPpwd.getPassword());
confirmPwd=new String(jPconfirmpwd.getPassword());
ph=jTmobile.getText();
gender="";
if(jRadioButton1.isSelected()){
gender="Male";
}
if(jRadioButton2.isSelected()){
gender="Female";
}
birth=((JTextField)jDateChooser1.getDateEditor().getUiComponent()).getText();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
birth=dateFormat.format(jDateChooser1.getDate());
Method : updateData
String sql="UPDATE REGISTER SET fullname=?, email=?, pwd=?, confirmpwd=?, phone=?,"
+ "gender=?,birth=? "
+ " WHERE ID=?";
try{
conn=db.getConnection();
pst=conn.prepareStatement(sql);
dateCreated = new java.sql.Date(dateFormat.parse(birth).getTime());
pst.setString(1, fullName);
pst.setString(2, email);
pst.setString(3, pwd);
pst.setString(4, confirmPwd);
pst.setString(5, ph);
pst.setString(6, gender);
pst.setDate(7, dateCreated);
pst.setInt(8, Integer.parseInt(id));
int numrow=pst.executeUpdate();
if(numrow==1){
JOptionPane.showMessageDialog(rootPane, "Data berhasil di Update");
}else{
JOptionPane.showMessageDialog(rootPane, "Data gagal di Update");
}
conn.close();
}catch(Exception e){
System.out.println("Error : "+e);
}
displayTable();
}
Reference
• Schildt Herbert, (2019).Java - The Complete Reference - 11 Edition. McGraw-Hill Education

You might also like