--> Tutorial Java: Dasar Koneksi Database MySQL | EkoDoc

Blog Tentang Berita, Tips Trik, K-pop, Agama Kristen

Monday, 11 March 2013

Tutorial Java: Dasar Koneksi Database MySQL

| Monday, 11 March 2013
Penggunaan database dalam sebuah aplikasi merupakan hal yang cukup penting, bila data yang diolah dan disimpan berjumlah banyak. Dengan pembuatan file teks biasa, akan cukup merepotkan untuk melakukan pencarian dan pengolahan data lainnya. Programmer harus membuat berbagai fungsi untuk hal tersebut.
Ada banyak DBMS (DataBase Management System) yang beredar di pasaran. Setiap merk mempunyai kelebihan dan kekurangan tersendiri. Namun semua DBMS pasti sudah memiliki operasi-operasi query yang sudah dioptimalisasi dalam berbagai kondisi. Database dan operasi yang ada pun dapat diakses menggunakan bahasa pemrograman yang Anda gunakan, selama driver-nya tersedia.
Salah satu DBMS yang cukup banyak digunakan adalah MySQL. Hal ini salah satunya karena MySQL menyediakan versi gratis yang cukup powerful, dengan dukungan driver untuk berbagai bahasa pemrograman, serta cukup ringan untuk dijalankan. Instalasi MySQL bisa dilakukan secara terpisah maupun dalam paket web server seperti XAMPP maupun WAMP. Dalam artikel ini, yang digunakan adalah MySQL yang ada dalam paket server XAMPP.
Koneksi database bisa lebih mudah dilakukan dengan menggunakan IDE seperti NetBeans. Dengan IDE tersebut, Anda tidak perlu mencari driver yang akan digunakan untuk mengakses database. Dalam artikel ini juga digunakan NetBeans sebagai alat bantu koneksi database. Namun demikian, driver tersebut juga bisa didapatkan secara terpisah di http://www.mysql.com/downloads/connector/j/.
Berikut beberapa langkah pemrograman Java menggunakan database.
  1. Buatlah sebuah project pada NetBeans. Pada struktur project tersebut, terdapat dua folder di bawahnya, yaitu Source Packages dan Libraries. Klik kanan pada Libraries, dan pilih menu “Add Library”.
  2. Sebuah jendela dialog akan muncul. Pilih MySQL JDBC Driver, lalu klik Add Library. Pastikan setelah proses tersebut, di dalam folder Libraries sebelumnya terdapat sebuah library tambahan.
  3. Sebelum memulai koneksi, jangan lupa aktifkan dahulu MySQL server Anda. Setelah itu, untuk mengetes apakah Driver bisa digunakan, ketikkan kode sebagai berikut.
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class DatabaseTest {
      public static void main(String[] args) {
        try {
          Class.forName("com.mysql.jdbc.Driver").newInstance();
          System.out.println("Driver berhasil diload");
        } catch (ClassNotFoundException ex) {
        } catch (InstantiationException ex) {
        } catch (IllegalAccessException ex) {
        }
      }
    }
    Bila program berjalan lancar, maka akan tercetak “Driver berhasil diload” pada output.
  4. Setelah itu, untuk membuat koneksi, dapat dilakukan dengan class Connection. Namun pembuatannya tidak dengan menginisialisasi secara biasa, melainkan sudah ada method getConnection() dari class DriverManager untuk mendapatkan object koneksi, seperti kode berikut ini.
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    public class DatabaseTest {
      public static void main(String[] args) {
        try {
          String path = "jdbc:mysql://localhost:3306/xml_web";
          String username = "xml_web";
          String password = "xml_web";
          Connection connect = DriverManager.getConnection(path, username, password);
          System.out.println("Koneksi sukses");
        } catch (SQLException ex) {
        }
      }
    }
    Ketiga parameter yang dimasukkan adalah path, username, serta password dari database yang akan diakses. Dalam artikel ini, dicontohkan database yang digunakan adalah “xml_web”.
  5. Untuk mengeksekusi perintah SQL, class yang digunakan adalah Statement. Class ini menyimpan perintah-perintah SQL seperti SELECT, INSERT, UPDATE, dan DELETE untuk kemudian dieksekusi. Object statement didapatkan dari koneksi yang telah dibuat sebelumnya. Misalkan, ada table seperti pada gambar.
    Untuk memasukkan data baru, Anda bisa melakukan seperti contoh berikut ini.
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    public class DatabaseTest {
      public static void main(String[] args) {
        try {
          String path = "jdbc:mysql://localhost:3306/xml_web";
          String username = "xml_web";
          String password = "xml_web";
          Connection connect = DriverManager.getConnection(path, username, password);
          Statement statement = connect.createStatement();
          String query = "INSERT INTO users "
              + "(email, username, password, last_login) "
              + "VALUES "
              + "('admin@admin.com', 'admin', 'asdfwerg123', NULL);";
          statement.executeUpdate(query);
          System.out.println("Penambahan data sukses");
        } catch (SQLException ex) {
        }
      }
    }
    Bila Anda jalankan program tersebut, maka otomatis data baru akan masuk ke table.
  6. Cara di atas sama untuk perintah UPDATE dan DELETE. Anda hanya cukup menerapkan SQL biasa di dalam statement. Sedangkan untuk proses SELECT, eksekusi query akan mereturn sebuah object, yaitu ResultSet. Object ini menyimpan data hasil query SELECT dalam bentuk Collection Iterable. Berikut contoh kode programnya.
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    public class DatabaseTest {
      public static void main(String[] args) {
        try {
          String path = "jdbc:mysql://localhost:3306/xml_web";
          String username = "xml_web";
          String password = "xml_web";
          Connection connect = DriverManager.getConnection(path, username, password);
          Statement statement = connect.createStatement();
          String query = "SELECT email, username, password, last_login FROM users;";
          ResultSet result = statement.executeQuery(query);
          while(result.next()) {
            String data = result.getString("email");
            data += " | " + result.getString("username");
            data += " | " + result.getString("password");
            data += " | " + result.getString("last_login");
            System.out.println(data);
          }
        } catch (SQLException ex) {
        }
      }
    }
    ResultSet dapat dilakukan perulangan dengan method next(). Setelah itu, untuk mendapatkan data setiap field-nya, digunakan method getString(), getInt(), dan sebagainya. Hasil exsekusi query di atas kurang lebih sebagai berikut.
    ?
    1
    2
    me@haqqi.net | haqqi | 34hr2o234k2h34h | null
    admin@admin.com | admin | asdfwerg123 | null
  7. Cara lain untuk membuat statement adalah menggunakan class PreparedStatement. Fungsinya hampir sama dengan Statement biasa, namun class ini menyediakan sebuah template query yang mana parameternya bisa dimasukkan pada baris berikutnya, seperti berikut ini.
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    PreparedStatement statement = connect.prepareStatement("INSERT INTO users "
        + "(email, username, password, last_login) "
        + "VALUES " + "(?, ?, ?, ?);");
    statement.setString(1, "test@test.com");
    statement.setString(2, "test");
    statement.setString(3, "d7fj23hfos74");
    statement.setString(4, null);
    statement.executeUpdate();
    Seperti yang bisa dilihat, tanda tanya (?) merupakan variable yang bisa diganti dengan memanggil method setString(), setInt(), dan sebagainya sesuai tipe datanya.
  8. Cara yang sama dengan PreparedStatement juga bisa digunakan untuk mendapatkan ResultSet dengan query SELECT dan eksekusi method executeQuery().
Dengan dasar cara koneksi database MySQL di atas, Anda bisa mengembangkannya menjadi aplikasi database lainnya. Selamat mencoba!
Artikel ini pernah dipublikasikan oleh Penulis di tabloid PC Mild edisi 10/2011 lalu.
Sumber: Bisa Komputer

Related Posts

No comments:

Post a Comment