0% found this document useful (0 votes)
8 views

Java Crud-Part2

Java Crud + Java Swing (part2) dalam bahasa Indonesia
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Java Crud-Part2

Java Crud + Java Swing (part2) dalam bahasa Indonesia
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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