Membangun Koneksi Database MySQL Pada Java
Assalamu'alaikum wr.wb
Kali ini saya akan memposting tentang koneksi java ke database MySQL. Koneksi ini diperlukan untuk menghubungkan program java agar bisa menyimpan data di database MySQL. Dalam OOP, pemrograman tersebut berbasis pada database, sehingga sangat penting bagi kita untuk mengetahui tentang koneksi ini.
Hal yang membuat saya menggunakan MySQL sebagai database, selain MySQL adalah database populer, MySQL merupakan produk buatan Oracle, sama dengan java. jadi kemungkinan untuk error sedikit. Untuk yang belum memahami tentang MySQL, silahkan lihat disini. Pada artikel tersebut, saya sudah memberikan link arahan untuk mempelajari MySQL lebih lanjut.
Baca Juga
Untuk cara mengkoneksikan database pada program java menggunakan netbeans, anda perlu library MYSQL JDBC DRIVER. Silahkan download terlebih dahulu. Library itu dibutuhkan untuk menghubungkan java ke database. Didalam Library tersebut sudah ada framework-framework untuk MySQL, salah satunya adalah untuk mengkoneksikan databasenya. Sehingga kita hanya perlu memanggilnya pada program java di netbeans.
Saya tidak akan memberikan tutorial untuk membuat class ataupun menggunakan netbeans, Saya anggap anda sudah bisa mengkoneksikan phpmyadmin ke netbeans. Karena aplikasi yang saya gunakan adalah eclipse.
Berikut ini merupakan contoh program koneksi database pada java :
1. Import library yang diperlukan
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.JOptionPane;
Kita perlu untuk mengimport library diatas karena dengan bantuan library tersebut, kita bisa mengkoneksikan java ke database MySQL, untuk JOptionPane sebenarnya tidak perlu, sebenarnya menurut aturan, JOptionPane harusnya di panggil hanya di frame. Namun karena saya sudah terlanjur membuatnya, maka saya biarkan saja seperti itu.
2. Variabel yang dibutuhkan
private static Connection con; private ResultSet res; private Statement st; private int success; private final String database = "Nama Database"; private final String user = "Nama User (Biasanya root)"; private final String password = "Password"; private final String ip = "ip server (biasanya ip lokal 127.0.0.1)"; private final String port = "port server (jika belum diubah - ubah harusnya 8080)";
Variabel diatas adalah variabel wajib yang dibutuhkan untuk mengkoneksikan database ke java. hal ini agar apabila ada kesalahan input atau kesalahan apapun, kita bisa perbaiki dari variabel ini.
3. Program pada constructor koneksi
public Koneksi() { try { Class.forName("com.mysql.jdbc.Driver"); try { String url = "jdbc:mysql://" + ip + ":" + port + "/" + database + ""; con = DriverManager.getConnection(url, user, password); } catch (SQLException e) { uri = Paths.get(".").toAbsolutePath().normalize().toString(); String msg = "Koneksi Database gagal \nSilakan cek file Konfigurasi! \n"+ uri+"\\src\\config\\config.properties \nError system : " + e.getMessage(); StoreErrorMessage.storeErrMsg(msg); JOptionPane.showMessageDialog(null, msg, "Koneksi", JOptionPane.ERROR_MESSAGE); } } catch (ClassNotFoundException e) { String msg = "Driver tidak ditemukan " + e.getMessage(); StoreErrorMessage.storeErrMsg(msg); JOptionPane.showMessageDialog(null, msg, "Koneksi", JOptionPane.ERROR_MESSAGE); } }
Untuk bagian ini adalah bagian terpenting. Constructor diatas merupakan perintah dari koneksi database MySQL. Mungkin sedikit membingungkan. Tapi tidak perlu khawatir, karena perintah koneksi sebenarnya hanya sedikit. Kita cukup fokuskan pada script didalam try{} saja. Untuk yang lain hanyalah antisipasi error.
4.membuat method getKoneksi
public Connection getKoneksi() { return con; }
Method ini berfungsi untuk memanggil con dari class lain.
5. Membuat method getRS dengan parameter String
public ResultSet getRs(String sql) { try { st = con.createStatement(); res = st.executeQuery(sql); return res; } catch (Exception e) { System.out.println("Query : " + sql); String msg = "Gagal mengambil data dari databse " + e.getMessage(); JOptionPane.showMessageDialog( null, msg, "Database", JOptionPane.ERROR_MESSAGE); StoreErrorMessage.storeErrMsg(msg); } return null; }
Method ini berfungsi untuk mengambil nilai getRs dari class koneksi ke class lain.
6. Membuat method runQuerySQL
public boolean runQuerySQL(String sql) { try { st = con.createStatement(); success = st.executeUpdate(sql); } catch (Exception e) { String msg = sql + "Proses perubahan data ke database error @runQuerySQL" + e; StoreErrorMessage.storeErrMsg(msg); JOptionPane.showMessageDialog( null, msg, "Database", JOptionPane.ERROR_MESSAGE); success = 0; System.out.println(msg); } return success == 1; }
Method ini berfungsi untuk mengeksekusi query, apakah query tersebut CRUD atau SELECT. disinilah perintah untuk membedakannya
7. Berikut ini merupakan hasil penuh program
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.JOptionPane; /** * * @author Tutor-All Programming */ public class Koneksi { private static Connection con; private ResultSet res; private Statement st; private int success; private final String database = "Nama Database"; private final String user = "Nama User (Biasanya root)"; private final String password = "Password"; private final String ip = "ip server (biasanya ip lokal 127.0.0.1)"; private final String port = "port server (jika belum diubah - ubah harusnya 8080)"; public Koneksi() { try { Class.forName("com.mysql.jdbc.Driver"); try { String url = "jdbc:mysql://" + ip + ":" + port + "/" + database + ""; con = DriverManager.getConnection(url, user, password); } catch (SQLException e) { uri = Paths.get(".").toAbsolutePath().normalize().toString(); String msg = "Koneksi Database gagal \nSilakan cek file Konfigurasi! \n"+ uri+"\\src\\config\\config.properties \nError system : " + e.getMessage(); StoreErrorMessage.storeErrMsg(msg); JOptionPane.showMessageDialog(null, msg, "Koneksi", JOptionPane.ERROR_MESSAGE); } } catch (ClassNotFoundException e) { String msg = "Driver tidak ditemukan " + e.getMessage(); StoreErrorMessage.storeErrMsg(msg); JOptionPane.showMessageDialog(null, msg, "Koneksi", JOptionPane.ERROR_MESSAGE); } } public Connection getKoneksi() { return con; } public ResultSet getRs(String sql) { try { st = con.createStatement(); res = st.executeQuery(sql); return res; } catch (Exception e) { System.out.println("Query : " + sql); String msg = "Gagal mengambil data dari databse " + e.getMessage(); JOptionPane.showMessageDialog( null, msg, "Database", JOptionPane.ERROR_MESSAGE); StoreErrorMessage.storeErrMsg(msg); } return null; } public boolean runQuerySQL(String sql) { try { st = con.createStatement(); success = st.executeUpdate(sql); } catch (Exception e) { String msg = sql + "Proses perubahan data ke database error @runQuerySQL" + e; StoreErrorMessage.storeErrMsg(msg); JOptionPane.showMessageDialog( null, msg, "Database", JOptionPane.ERROR_MESSAGE); success = 0; System.out.println(msg); } return success == 1; } }
Post a Comment for "Membangun Koneksi Database MySQL Pada Java"