Monday, April 29, 2013

Koneksi MySQL - JAVA Ubuntu

Hai Sobat Teens semua ....
How are you today ??
hhe :D
Lama ya ga posting, ini posting pertama gua di 2013 :p
Alhamdulillah sekarang udah ujian nasional, jadi, free blogging nih
hehehe :D

Java Ubuntu MySQL


Ga perlu basa - basi deh, langsung aja ya to the point. Gua mau share nih, cara koneksi program Java dengan database MySQL. Oh iya, OS yang gua gunakkan kali ini adalah Linux (Ubuntu 12.04).
Mungkin di antara kalian ada yang kesulitan mengkoneksikan Java dengan MySQL di sistem operasi linux ini.

Hm... Setelah gua explore lebih dalam lagi, ternyata ga susah - susah amat kok, hanya dengan sedikit sentuhan.

OK let's begin.
Spesifikasi yang gua pake ini:
  1. Linux Ubuntu 12.04 (OS yang gua pake sekarang)
  2. OpenJDK 7
  3. Eclipse Indigo v3.7.2
  4. libmysql-java 5.1.16-2 (install dulu)
  5. MySQL 5.5.28-0ubuntu0.12.04.3
Nahh..
Sekarang buat project dan class baru di Eclipse kalian (ga perlu di ajarin kan ?? hhe :D), terserah deh namanya apa aja, lalu, simpan.
Setelah itu ketikkan kode Java seperti di bawah ini:
package javamysql;

import java.sql.*;
import java.util.Properties;

public class JavaMysql {
 
 private static final String dbClassName = "com.mysql.jdbc.Driver";
 private static final String CONNECTION = "jdbc:mysql://127.0.0.1/__alumni__";
 private static final String columnPrefix = "yr2109__";

 /**
  * @param args
  */
 public static void main(String[] args) throws Exception {
  // TODO Auto-generated method stub
  System.out.println(dbClassName);
  Class.forName(dbClassName);
  Connection connection;
  
  Properties properties = new Properties();
  properties.put("user", "root");
  properties.put("password", "agungyudha");
  connection = DriverManager.getConnection(CONNECTION, properties);
  
  //System.out.println("It Works !");
  String sql = "SELECT COUNT(*) AS jumlah FROM "+columnPrefix+"user";
  
  Statement statement = connection.createStatement();
  ResultSet resultSet = statement.executeQuery(sql);
  System.out.println("---------------------------------");
  if(resultSet.next()){
   System.out.println(resultSet.getString("jumlah"));
  }
  connection.close();

 }

}
<penjelasan-program>
Di awal program, kita import kelas - kelas standard yang telah disediakan oleh Java, yaitu java.sql dan java.util.Properties. Karena kita akan menggunakkan kelas - kelas ini untuk memproses ke database. 
Setelah itu pada baris 8 sampai 10 kita mendefinisikan dbClassName sebagai nama Database, CONNECTION sebagai alamat untuk menghubungkan ke alamat database dan nama database yang kita butuhkan. nah untuk columnPerfix ini bersifat opsional, kalian bisa menambahkan ataupun tidak, tergantung pada database kalian, mempunyai prefix atau tidak, kalau tidak ada ya kosongkan saja.
Nah di method main(), ini adalah baris - baris program yang akan dieksekusi. Pada baris 21 sampai 22 kita gunakkan method put dari kelas Properties untuk menempatkan username dan password database. Setelah koneksi dituliskan pada IDE kalian, lalu langsung saja tulis syntax SQL kalian, proses SQL dan menampilkannya.
</penjelasan-program>

Gimeana sobat, ngerti kan penjelasan di atas ??
Sekarang coba jalankan, Run As: Java Application. Gimana hasilnya :)
Ooopppppssssss............ Error ya ??? JREnya ga ditemukan seperti ini ternyata:
com.mysql.jdbc.Driver
Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Hmmm... bisa apa ngga ya di benerin ?? Kenapa ya, padahal JDK, Eclipse, dan libmysql-java udah keinstall semua. Apa artinya error ini ??

Gua punya solusi nih bro, caranya klik kanan nama Project kalian pada Package Explorer (sebelah kiri) lalu pilih properties >> Java Build Path >> Libraries.
Entar tampilan Eclipse kalian akan muncul sebuah window "Propertis for JavaMysql"

Udah kan ??
Setelah itu tekan tombol "Add External JARs" akan mucul jendela baru untuk mencari file jar yang bernama mysql-connector-java.jar. Setelah ketemu, klik aja langsung tekan tombol "OK".

Setelah muncul nama mysql connector jar kalian udah kedaftar di library, silahkan tekan OK.
Naahh ini langkah terakhir nih. Coba sekali lagi run aplikasi kalian. Gimana ?? Jalan kan ??
hehehehehe :p

Kenapa kita harus menambahkan external JAR pada projek kita ? Banyak pertanyaan kayak gini sob, jawabannya simple aja, karena Java sendiri tidak menyediakan kelas - kelas untuk database MySQL.

Sebenernya ga beda jauh sih langkahnya sama Koneksi Java ke Database Oracle 11g.
Gimana sobat, ada masalah ?? Atau pertanyaan ??
Silahkan tanyakan di sini. InsyaAllah gua jawab :)

2 comments:

  1. bedanya libmysql dan mysql-connector apa, ya?
    bukannya funsinya sama-sama penghubung, uh iya apa perlu ditambahkan port 3306?

    ReplyDelete
    Replies
    1. iya mereka itu penghubung aplikasi ke database

      untuk libmysql biar ada library yang mendukung agar aplikasi untuk masuk ke database
      nah kalau mysql-connector itu untuk menghubungkan ke mysql jadi tanpa libmysql dan hanya memakai mysql-connector gak akan bisa

      nah library (libmysql) itu sebagai jembatan antara konektor dan database
      sepengetahuanku seperti itu

      untuk port 3306 itu otomatis kok :)
      semoga membantu

      Delete