JDBC dan MySQL dengan NetBeans part 1

2008 Juli 5
by echo

dengan membaca tutorial ini berarti anda telah membaca tutorial MySQL dan NetBeans bagian 1 dan 2…

hmmmmmm…..

lagi iseng nich jam 4 bagi. sebelum subuh bikin tutorial dulu tentang JDBC (Java Database Connectivity) dan MySQL and tetep pake Netbeans :)

pada tutorial ini kita baca tentang cara membuat Connection, trus cara bikin Statement, and cara bikin ResultSet. bingung? ah gak perlu kawatir, dulu juga saya bingung. tapi setelah baca tutorial ini, pasti gak kan ada kata bingung… let’s GO!!!!!!!

java.sql.Connection

sebelum kita mengelola database pada MySQL kita perlu membuat terlebih dahulu sebuah koneksi yang dalam java dekenal dengan java.sql.Connection.  tapi sebelumnya kita harus menentukan sebuah driver setiap DBMS yang akan kita gunakan. karena kita menggunakan DBMS MySQL, maka kita harus membuat instansiasi dari Driver milik MySQL. dan masalahnya, java tidak menyediakan driver untuk MySQL, sehingga kita harus mendownload driver MySQL dari situs resmi MySQL. tapi tenang saja, karena kita pake Netbeans, semuanya telah tersedia, hahahaha….

untuk memasukkan sebuah library untuk drriver MySQL pada netbeans gampang saj. caranya klik kanan pada library milik project yang akan kita gunakan lalu pilih add library :

image

setelah itu cari library MySQL JDBC Driver lalu klik tombol add library :

image

sekarang bisa dilihat kalo MySQL JDBC Driver telah ada di library project yang akan kita buat :

image

setelah itu buat sebuah class untuk koneksi (jika anda belum tahu cara membuat koneksi, silahkan lihat kembali tutorial MySQL dan Netbeans bagian 1) :


import com.mysql.jdbc.Driver;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Koneksi {

    private static Connection koneksi;

    public static Connection getConnection() throws SQLException {
        if (koneksi == null) {
            // panggil Driver MySQL
            new Driver();
            // buat koneksi
            koneksi = DriverManager.getConnection("jdbc:mysql://localhost:3306/netbeans", "username", "password");
        }
        return koneksi;
    }

    public static void main(String args[]) {
        try {
            getConnection();
            System.out.println("Koneksi Berhasil");
        } catch (SQLException ex) {
            System.err.println("Koneksi Gagal");
        }
    }
}

setelah itu coba running, jika berhasil maka akan mengeluarkan tulisan “Koneksi Berhasil”, jika gagal, maka akan keluar tulisan “Koneksi Gagal”. nach sekarang saya akan anggap koneksi berhasil. kalo gagal, pasti ada yang salah dengan yang anda ketikkan, ulangi lagi sampai berhasil….

java.sql.Statement

nah sekarang kita akan masuk ke proses INSERT, UPDATE, DELETE pada database. caranya kita harus membuat sebuah Statement, lalu dengan statement tersebut kita bisa membuat proses eksekusi INSERT, UPDATE, dan DELETE. namun tak bisa mengeksekusi proses SELECT karena proses tersebut mengembalikan nilai, makanya nanti kita akan bahas prose SELECT di subbab selanjutnya.

untuk membuat Statement, kita cukup memanggil metode createStatement() milik Connection. ini contohnya :


Connection koneksi = ....
Statement statement = koneksi.createStatement();</code>

sedangkan untuk melakukan proses eksekusi instruksi SQL, kita gunakan metode executeUpdate(”PERINTAH SQL”) milik Statement, contohnya kita akan mencoba membuat Statement untuk eksekusi perintah INSERT :


import java.sql.SQLException;
import java.sql.Statement;

public class InsertRecord {

    public static void main(String args[]) throws SQLException {
        Statement statement = Koneksi.getConnection().createStatement();
        statement.executeUpdate("INSERT INTO MAHASISWA " +
                "VALUES (" +
                "'10106031','Eko Kurnaiwan Khannedy','1988-12-29'" +
                ");");

        statement.close();
    }
}

setelah di eksekusi, maka ini hasilnya :

image

sekarang kita coba melakukan proses UPDATE :


import java.sql.SQLException;
import java.sql.Statement;

public class UpdateRecord {

    public static void main(String args[]) throws SQLException {
        Statement statement = Koneksi.getConnection().createStatement();
        statement.executeUpdate("UPDATE MAHASISWA " +
                "SET " +
                "NAMA = 'Nesia Oktiana' ," +
                "TANGGAL_LAHIR = '1988-10-04' " +
                "WHERE " +
                "NIM = '10106031';");
        statement.close();
    }
}

setelah dieksekusi maka ini hasilnya :

image

sekarang kita coba proses DELETE :


import java.sql.SQLException;
import java.sql.Statement;

public class DeleteRecord {

    public static void main(String args[]) throws SQLException {
        Statement statment = Koneksi.getConnection().createStatement();
        statment.executeUpdate("DELETE FROM MAHASISWA " +
                "WHERE NIM = '10106031';");
        statment.close();
    }
}

setelah dieksekusi maka ini hasilnya :

image

ternyata gampangkan membuat koneksi dan melakukan proses INSERT UPDATE dana DELETE di Java. ;)

java.sql.ResultSet

seperti janji saya, sekarang kita akan belajar bagaimana melakukan proses SELECT di Java. hmmmm gampang aja, pertama buat Connection, llau buat Statement lalu buat ResultSet, caranya seperti ini :


Connection koneksi = ...
Statement statement = koneksi.createStatement();
ResultSet result = statement.executeQuery("SELECT ...");

setelah itu untuk mendapatkan datanya gunakan metode get[TipeData](”NAMA_KOLOM”) milik ResultSet. untuk lebih jelasnya sekarang kita akan mencoba menampilkan seluruh data pada tabel Mahiswa yang ada pada database NETBEANS:


import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class SelectRecord {

    public static void main(String args[]) throws SQLException {
        Statement statement = Koneksi.getConnection().createStatement();

        statement.executeUpdate("INSERT INTO MAHASISWA VALUES ('1','A','1988-12-29')");
        statement.executeUpdate("INSERT INTO MAHASISWA VALUES ('2','B','1988-12-29')");
        statement.executeUpdate("INSERT INTO MAHASISWA VALUES ('3','C','1988-12-29')");
        statement.executeUpdate("INSERT INTO MAHASISWA VALUES ('4','D','1988-12-29')");
        statement.executeUpdate("INSERT INTO MAHASISWA VALUES ('5','E','1988-12-29')");

        ResultSet result = statement.executeQuery("SELECT * FROM MAHASISWA");

        String nim;
        String nama;
        Date tanggalLahir;
        int index = 1;

        while (result.next()) {
            nim = result.getString("NIM");
            nama = result.getString("NAMA");
            tanggalLahir = result.getDate("TANGGAL_LAHIR");

            System.out.println("Mahasiswa Ke-" + index);
            System.out.println("Nim : " + nim);
            System.out.println("Nama : " + nama);
            System.out.println("Tanggal Lahir : " + tanggalLahir);
            System.out.println();
            index++;
        }
        result.close();
        statement.close();
    }
}

setelah dieksekusi, maka akan menghasilkan output seperti ini :

Mahasiswa Ke-1
Nim : 1
Nama : A
Tanggal Lahir : 1988-12-29

Mahasiswa Ke-2
Nim : 2
Nama : B
Tanggal Lahir : 1988-12-29

Mahasiswa Ke-3
Nim : 3
Nama : C
Tanggal Lahir : 1988-12-29

Mahasiswa Ke-4
Nim : 4
Nama : D
Tanggal Lahir : 1988-12-29

Mahasiswa Ke-5
Nim : 5
Nama : E
Tanggal Lahir : 1988-12-29

sekarang akan saya beritahu apa itu metode next() milik ResultSet. metode next() merupakan metode yang digunakan untuk mengecek apakah ada record lagi selain pada posisi index yang saat ini (pada awalnya posisi index ResultSet adalah 0 (nol)) jika ada maka index akan loncat kedepan misal dari 0 menjadi 1 dan akan mengembalikan nilai true, tetapi jika tak ada maka index tetap disitu dan akan mengembalikan nilai false;

selain itu perlu diketahui, bahwa class Statement dan ResultSet serta Connection memiliki metode yang bernama metode close(). metode ini merupakan metode yang digunakan untuk menutup. misal ketika Satement kita panggil metode close() nya maka Statement tersebut akan ditutup, sehingga koneksi ke MySQL akan terputus dan dari memori akan dibapus. jadi metode close() harus selalu dipanggil jika proses telah selesai, karena jika tidak maka akan terjadi penumpukan memori…..

tutorial berikutnya kita akan bahas tentang PrepareStatement

see you at next tutorial

Rock with Java!!!!!

;)

41 Responses leave one →
  1. 2008 Juli 11
    ILH permalink

    mohon penjelasan lebih lengkap lagi soal database, apakah tidak cukup jika hanya menggunakan 1 program saja??? soalnya saya cuma punya MySql 4 klo nggak salah..tapi tiap kali ada buku atau tutorial selalu menggunakan lebih dari 1. misalnya MySQL dengan VB ato PHP ato yang lain…..bisakah program VB donwload gratis yang lengkap???dimana??? atas jawabannya terima kasih..
    pemula di database

  2. 2008 Juli 11

    kalo anda sebagai database administrator, yang anda perlukan hanyalah DBMSnya saja misal MySQLnya saja, tapi kalo seperti saya (programmer), selain DBMSnya kita juga perlu programnya (aplikasinya) yang kita buat.

    DBMS itu gunanya sebagai penyimpanan data, sedangkan aplikasi yang kita buat gunannya sebagai pengolah data. dan tak selalu harus ada aplikasi dan DBMS untuk mengolah databasae. anda juga bisa hanya menggunakan MySQL untuk mengolah database, jika memang anda lebih tertarik menjadi database admnistrator.

    VB itu software buatan Microsoft yang berbayar, jadi tak bisa kita download gratis, jadi mau gak mau kita harus beli dari Microsoft. :)

  3. 2008 Juli 18
    InU permalink

    hehehe seep mantab Tutorialnya!! yang dasar2 begini ni..
    banyak dicari oleh para Beginner (seperti akuw)

    VB itu software buatan Microsoft yang berbayar, jadi tak bisa kita download gratis, jadi mau gak mau kita harus beli dari Microsoft. :) <<=

    klo ada yang gratis n Power Full napa ga di coba?
    memang seh memulai tuh biasanya lebih susah dari membiasakan
    so.. thanks buat Echo yang dah kasih Tutorial.. l
    moga kita bisa memulai n membiasakn tidak Membajak
    eh btw.. tutorialnya leh di Copy kan..? :D

  4. 2008 Juli 18

    silahkan, gratis kok gak perlu bayar, :D

  5. 2008 Agustus 6

    mas gimana kalo databasenya sqlserver 2005…????

  6. 2008 Agustus 6

    saya kurang tahu tuh kalo pake SQLServer :D

    soalnya saya gak pake SQLServer :mrgreen:

  7. 2008 Nopember 6
    Idris permalink

    Mas, gimana kalo programnya pake Form GUI. Jadi entrinya pake JText dan Button.
    Terima kasih sebelumnya.

  8. 2008 Nopember 6

    saran yang bagus :D

  9. 2008 Nopember 13
    aPpLe permalink

    yup..klo dgn GUI gmna yak?? setidaknya untuk tampilin data..klo bisa buat tutorialnya yg bisa insert, update delete data… :D

  10. 2008 Nopember 13

    nice saran :D

  11. 2008 Nopember 19
    cinta permalink

    thx bget…tulisan ini sangat membantu saya belajar result set..

    o iy saya mau tanya…
    gmn caranya mengaktifkan tombol next dan previous pada resultset…..kebetulan saya memakai netbeans..

    tolong jawabannya dikirim ke e-mail saya saja….terimakasih..

  12. 2008 Nopember 19

    itu berarti harus menggunakan LIMIT di kode SQL-nya
    coba cari tutorial tentang LIMIT di MySQL or DBMS lainnya :D

  13. 2008 Nopember 24

    Kebetulan sekali saat ni saya mendapatkan project tentang java.. trims tentang tutorialny.. bsok2 kl ada pertanyaan saya bleh tanya y, soalny saya msih newbiest :)

  14. 2008 Nopember 24

    Kl bisa tutorial part 2 ny cpetn d luncurkan y.. Q dah sbar mngikuti episode brikutny..

  15. 2008 Nopember 24

    Master.. Loe emang luar biasa bgt.. Qtnggu y tutorial brikutnya.. btw saat ini Q bingung tntang pmrograman brbasis java mobile.. jdikn aQ muridU y master.. thanx b4..

  16. 2008 Nopember 24

    gw gak ngedalemin JME jadi sory :D

  17. 2008 Desember 1

    Master..
    tutorial ni bis t’coba hasilnya.. “koneksi gagal”
    pdahal aQ udh koreksi syntaxnya sama persis dengan yg U ajarin/tulis..
    mhon d beri ptunjuk.. knapa kQ bs dmikian.. saya tunggu blasanya scepat mungkin.. thanx..

  18. 2008 Desember 1

    cek lagi coba lokasi host database, port database, username, ama password, sopo tau salah :P

  19. 2008 Desember 10

    Master..
    untuk DML updatenya kQ g bs ktika udah d inputkan 2 data..
    mohon diberi petunjuk sejelas2nya..
    thanks :)

  20. 2008 Desember 10

    salah kali :D

  21. 2008 Desember 22

    salam kenal.
    mas lo bisa tutorialnya dibuat dari awal pembuatan data basenya.
    :D

  22. 2009 Januari 3
    Tony permalink

    Mas, saya baru mau belajar buat program database di Java tapi yg Visual seperti .Net gitu. Bisa tolong dibuatkan tutorialnya langkah demi langkah ( dari Pembuatan database sampai test / lihat hasil insert / delete / edit / update / view databasenya menggunakan Netbeans ).
    Trim’s

  23. 2009 Januari 3

    oh, tar gw buat :D

  24. 2009 Januari 25

    mas, knp ya saya udh nyoba contoh yg diatas, tapi gagal terus…..

    padahal coding nya udh bener???

    mohon bantuan nya ya….

    please….

    bisa dikirim lewat email penjelasannya??

    makaasih

  25. 2009 Februari 12
    deqick permalink

    salam kenal mas mbokya tutorialnya di buat dari awal pe akir berkesimambungan dari buat database pe hasil aplikasinya, tolong ya mas, buat belajar yang masih tahab awal belajar java seperti saya. trim’s

  26. 2009 Februari 19

    gw minta tolong donk gw lagi buat tugas akhir gw mau buat program sistem informasi sekolah dengan netbeans, gw minta ebook donk kirim ke email gw, gw ucapin terima kasih banget kalo lo kiirm ke email gw, please ya

  27. 2009 Maret 18

    wah tutorial keren… aku juga pemula di Java. Kemaren download modul Jeni 1-4, gak jelasin syntax.

    oiya mas, tutorial di atas waktu di-build,compile, trus mau aku Run, munculnya
    =======================================================
    Koneksi Failed,
    Initialization Error
    No runnable Method
    Java.lang.exception
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    =======================================================
    kalo di VB kan pakek ADODC. jadinya gampang bgt… gak nyangka kalo koneksi ke database pakek java serumit ini… :)

  28. 2009 Maret 18

    Apa harus pake platform Linux?? Soalnya baru aja aku liat di modul JENI yang aku download kemaren pakek Linux, OS-nya..

  29. 2009 Maret 24
    ferdiants permalink

    Hai Mas Echo..
    Saya ferdian..
    Saya ingin tanya tentang cara koneksi dari netbeans untuk database sql server 2005??
    saya belum bisa..
    harap bantuannya y Mas echo..
    Mkasih bnyaK..

    Sukses teruz Mas.. :D

  30. 2009 Maret 24

    sama aja caranya kayak koneksi ke MySQL
    cuma bedanya lokasi host SQLServer
    ama Driver SQLServernya

  31. 2009 April 6

    mas mo nanya cara nampilin gambar dari database gmana ya?

    tengkyu

  32. 2009 April 6
    irwan permalink

    thaks banget mas, sy tunggu gui nya mas

  33. 2009 April 18
    setyo permalink

    usu, tolong bantuin donks, misalnya ada aplikasi penjualan, trus di bag report kita pengen tampilin report penjualan yang nama suppliernya dipilih pake jcombobox,
    select * from penjualan where supplier = ‘PT XYZ’, Karena baru belajar pake jasperreport, ssaya mo tanya gimana caranya untuk mengirimkan parameter ke query tersebut dimana nilainya dari pemilihan jcombobox tadi. Tararenqyu.

  34. 2009 Juni 27
    herman permalink

    mas lok cara ngoneksiin mysql front ma netbean 6.0 tw yang lain tau gx dmn cranya,,

    mksh sblmnya,,

    slm knl.

  35. 2009 Juli 9
    deta permalink

    gi mana sih step – stepnya tlong dung:
    error :
    Testsuite: koneksi
    Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0.563 sec

    Testcase: initializationError(koneksi): Caused an ERROR
    No runnable methods
    java.lang.Exception: No runnable methods
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

    Test koneksi FAILED
    test:
    BUILD SUCCESSFUL (total time: 5 seconds)

  36. 2009 Juli 9
    deta permalink

    thank u. tutorialnya.

Trackbacks & Pingbacks

  1. Tutorial JDBC (CompleteVersion) « ~~ dari ‘Java’ ke ‘JavaScript’ lewat ‘CSS’ ~~
  2. Belajar JaVa « WAHYU FIGHTER
  3. Tutorial Java dari Eko Kurniawan Khannedy « nge-WP@net

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Berlangganan umpan komentar ini melalui RSS