simple input, update, hapus database dengan java dan MySQL

daftar materi java

ini adalah sebuah program yang sangat sederhana yang digunakan untuk input data, edit data, hapus data dalam database, saya menggunakan MySQL sebagai database server dan Java sebagai bahasa pemrogramannya, baiklah langsung saja

    • database jika sudah ada buatlah sebuah tabel
CREATE TABLE t_person (
  id int(11) NOT NULL auto_increment,
  name varchar(100) NOT NULL,
  password varchar(100) NOT NULL,
  PRIMARY KEY  (id),
  UNIQUE KEY name (name)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 ;

tabelnya bernama t_person terdiri (id, name, password) .

[sourcecode language=”java”]
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;

public class DatabaseTest {

private Connection koneksi;
String host;
String user;
String pass;

//konstruktor, saat object tercipta langsung membuat koneksi ke database
public DatabaseTest() {
host = "jdbc:mysql://localhost/pos"; //jdbc:mysql://localhost/databaseName
user = "alka"; // username in database server "root" is default
pass = "alka"; // password in database server
try {

if (cekDriver()) { //jika cekDriver==true
koneksi = DriverManager.getConnection(host, user, pass); /*object dari koneksi yang akan mengurusi koneksi ke database*/
System.out.println("connection to database established");
}
} catch (SQLException e) {
System.out.println("Connection failed " + e.getMessage());
}
}

//method untuk mengecek apakah Driver untuk koneksi ke database sudah ada atau belum
public final boolean cekDriver() {
boolean ada = false;
try {
Class.forName("com.mysql.jdbc.Driver"); //di cek is driver exist ?
System.out.println("Driver oke");
ada = true;
} catch (ClassNotFoundException c) {
System.out.println("Driver tidak ada");
}
return ada; //kembalikan keterangan apakah driver ada atau tidak
}

public void cetakSemuaPerson() {
String sql = "select * from t_person";
try {
Statement st = koneksi.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

//object dari resultset menampung hasilnya
ResultSet rs = st.executeQuery(sql);
System.out.println("id name password");
System.out.println("————————-");

//selama masih ada data (next)
while (rs.next()) {
int id = rs.getInt(1);
String name = rs.getString(2);
String pwd = rs.getString(3);
System.out.printf("%-4d %10s %10s \n", id, name, pwd);
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}

public void cetakPerson(int id) {
String sql = "select * from t_person where id =’" + id + "’";
try {
Statement st = koneksi.createStatement();
ResultSet rs = st.executeQuery(sql);
while (rs.next()) {
String name = rs.getString(2);
String pwd = rs.getString(3);
System.out.println(id + " " + name + " " + pwd);
}
} catch (Exception e) {
e.printStackTrace();
}
}

public boolean tambahPerson(String name, String psw) {
boolean result = false;
String sql = "insert into t_person(name,password) values(‘" + name + "’,’" + psw + "’)";
try {
Statement st = koneksi.createStatement();
st.executeUpdate(sql);
result = true;
System.out.println("data berhasil dimasukkan");
} catch (Exception e) {
System.out.println("gagal insert data " + e.getMessage());
}
return result;
}

public void hapusPerson(String nama){
int hasil=0;
String sql="delete from t_person where name=’"+nama+"’";
try{
Statement st = koneksi.createStatement();
hasil = st.executeUpdate(sql);
}catch(SQLException e){
System.out.println("tidak bisa hapus data "+e.getMessage());
}
System.out.println((hasil==1)?"berhasil hapus data":"gagal hapus data");
}

public void updateNamaPerson(int id,String namaBaru){
int hasil=0;
String sql = "update t_person set name=’"+namaBaru+"’ where id=’"+id+"’";
try {
Statement st = koneksi.createStatement();
hasil = st.executeUpdate(sql);
} catch (SQLException e) {
System.out.println(e.getMessage());
}

System.out.println((hasil==1)?"update berhasil":"update gagal");
}

public void updatePassword(int id, String passBaru){
int hasil=0; //untuk menampung hasil dari method executeUpdate, jika nol maka gagal jika 1 makan makan
String sql = "update t_person set password=’"+passBaru+"’ where id=’"+id+"’";
try {
Statement st = koneksi.createStatement();
hasil = st.executeUpdate(sql);
} catch (SQLException e) {
System.out.println(e.getMessage());
}

System.out.println((hasil==1)?"update berhasil":"update gagal");
}

//tinggal dihapus aja kode komenya kalo pengen coba
public static void main(String[] args) {
//DatabaseTest db = new DatabaseTest();
//db.tambahPerson("wero", "alka");
//db.updateNamaPerson(1, "ayuDewi");
//db.updatePassword(1, "passBaru");
//db.cetakSemuaPerson();
// db.hapusPerson("wero");
}
}
[/sourcecode]

  • pastikan Driver untuk koneksi database MySQL dengan JDBC sudah ada, jika anda menggunakan netbeans, pada bagian project -> libraries -> klik kanan -> add library -> pilih MySQL JDBC Driver .  atau klik kanan project -> properties -> libraries -> add Library-> pilih Mysql Jdbc Driver. atau anda juga bisa menggunakan driver yang anda miliki dari download di internet.
  • jalankan mysql server terlebih dahulu sebelum program, jika sudah maka pada code program cari method main
  • ciptakan object
    DatabaseTest db = new DatabaseTest();

    jika database Driver tidak ada maka akan tertulis driver tidak ada

  • tambah data di database
    db.tambahPerson("wero", "alka");
    db.cetakSemuaPerson();

    menggunakan method tambahPerson dengan parameter nama dan password lalu mencetak semua isi database

  • untuk mengedit data
    db.updateNamaPerson(1, "ayuDewi");
    db.updatePassword(1, "passBaru");

    digunakan untuk mengedit nama dan password berdasarkan ID

  • untuk menghapus data
    db.hapusPerson("wero");

    menghapus data berdasarkan nama, anda juga bisa mengubah berdasarkan id

Alhamdulillah,, segitu dulu dari saya,anda dapat merubahnya adar lebih baik dengan menggunakan GUI. anda juga bisa merubah2 methodnya sesuai kemauan anda. selalu latih diri anda agar anda menjadi lebih baik 🙂 keep coding

daftar materi java
23 Comments

Add a Comment

Your email address will not be published. Required fields are marked *