Mengkoneksikan Quartz dengan Database MySql menggunakan JDBC

04:05PM Sep 01, 2010 in category Java by Feby Fadiiellla

Untitled Document

Hii !!

Kali ini saya ingin melanjutkan blog saya yang kemarin ,, saya akan tulis bagaimana quartz di sambungkan ke database ,, Database yang di gunakan adalah MySql mengguakan JDBC. JDBC merupakan singkatan dari Java Database Connectivity. tapi sempat saya baca di sebuah artikel bahwa JDBC merupakan sebuah trade mark bukan sebuah singkatan. Entahlah yang bener yang mana ???

Ok ,, tak perlu banyak basa-basi ,, Come on ,, Lets Codding !!! (hHeeww)

Langkah pertama --> buat database

- Database saya , saya beri nama "tehtarik"

- Di database "tehtarik" ada table "deposito", berikut fieldnya :

b

- Isi tabel deposito dengan beberapa data.

s

 

Langkah kedua --> membuat koneksi

- Pada umumnya ,, mengkoneksikan quartz dengan mySql ,, sama dengan mengkoneksikan java dengan mySql. Berikut adalah syntax koneksi-nya.. :

public void koneksi() {
// untuk koneksi driver
try {
Class.forName("com.mysql.jdbc.Driver");

} catch (ClassNotFoundException cnfe) {
System.err.println("Error loading driver: " + cnfe);
}
// koneksi ke database
try {
String url = "jdbc:mysql://localhost:3306/tehtarik";
connection = DriverManager.getConnection(url, "root", "");
} catch (SQLException sqle) {
System.out.println("Proses Koneksi Gagal" + sqle);
}
}

 

- Membuat Objek Statement

Obyek Statement digunakan untuk mengirim query dan perintah ke
database. Sebelumya buat dulu variabel koneksi ..Cara penulisannya :

Connection connection;
Statement st = connection.createStatement();

 

Langkah ketiga --> Menampilkan data dari database

- Untuk mengambil data ,, gunakan perintah <statement>.executeQuery(String query) dan mengembalikannya dalam bentuk ResultSet, kemudian sesuaikan dengan tipe data dari field database... Contohnya :

-- getInt untuk mengembalikan nilai yang bertipe Integer

-- getDouble untuk mengembalikan nilai yang bertipe Double

-- getString untuk mengembalikan nilai yang bertipe String

-- getBoolean untuk mengembalikan nilai yang bertipe Boolean

-- getDate untuk mengambil nilai yang data dalam tipe java.sql.Date

-- dst ......

berikut syntax pengambilan data dari database ...

try {

Statement statement =

connection.createStatement();
String q = "Select * from deposito ";
ResultSet r_deposito =

statement.executeQuery(q);
while (r_deposito.next()) {

int no = r_deposito.getInt("no_rekening");
double saldo_deposito =

r_deposito.getDouble("saldo_deposito");
double nisbah_deposito =

r_deposito.getDouble("nisbah");

System.out.println

("No Rekening : "+no+ " Saldo deposito :

" + saldo_deposito+ " Nisbah deposito : "

+nisbah_deposito);

}
} catch (SQLException e) {
System.out.println("Gagal mendapatkan record");
e.printStackTrace();
}
}

 

Langkah keempat --> Insert data ke database

- Diatas adalah pemanggilan data dengan menggunakan "SELECT".. lalu bagaimana jika ingin menggunakan "INSERT, UPDATE,DELETE " yang tidak mengembalikan record,, ?????? Jika dalam perintah "SELECT" menggunakan method "executeQuery" ,, maka untuk perintah "INSERT , UPDATE , DELETE" gunakanlah method "executeUpdate" untuk mengembalikan jumlah record yang terpengaruh akibat perintah query ,,,, berikut adalah syntax insert data :

try{

String no=JOptionPane.showInputDialog

("Inputkan no. rekening Anda : ");
String saldo =JOptionPane.showInputDialog

("Inputkan saldo Anda : ");
String nisbah =JOptionPane.showInputDialog

("Inputkan nisbah : ");
int n=Integer.parseInt(no);
int s= Integer.parseInt(saldo);
int nis=Integer.parseInt(nisbah);
System.out.println(n+" "+s+" "+nis);

String query = "INSERT INTO deposito

(no_rekening,saldo_deposito,nisbah_deposito) VALUES ('" +
n+ "', '" +s+ "', '" + nis+ "')";
System.out.println(query);
int data = con.createStatement().executeUpdate(query);
System.out.println("Data yang terpengaruh : " + data);


} catch (SQLException e) {
System.out.println("Gagal menambah data");
e.printStackTrace();
}

 

Langkah kelima --> Update data ke database

Seandainya saya ingin meng-update nilai saldo deposito ,, karena nilai bagi hasil nasabah deposito telah di dapatkan ,, seharusnya nilai deposito nasabah bertambah karena mendapat keuntungan dari bagi hasil nasabah deposito .. dan syntax update-nya adalah sebagai berikut :

// saldo baru deposito

double bg_nasabah_deposito =20,0987; // misal
double saldo_baru_deposito = saldo_deposito
+ bg_nasabah_deposito;

// update saldo deposito

String update_deposito = "UPDATE deposito SET no_rekening=?, saldo_deposito=?, nisbah=? WHERE no_rekening='"+ no + "'";
PreparedStatement p = connection.prepareStatement(update_deposito);

p.setInt(1, no);

p.setDouble(2, saldo_baru_deposito);

p.setDouble(3, nisbah_deposito);
// Commit
p.execute();
// System.out.println(update_deposito);

.

.

Sytax diatas di letakkan di dalan class RunMeTask.java ,,

dan saat program di jalankan dengan trigger misalnya 3 detik ,,

maka setiap 3 detik akan menampilkan data , insert data , dan update data ,,

gimana??????

cukup mudah bukan ????

Selamat Mencoba .....

.:n_n:.

 

Comments[0]

Comments:

Post a Comment:
  • HTML Syntax: Allowed