Belajar Java Database Connectivity {3} Membuat Statement


pada artikel sebelumnya saya telah membahas tentang cara membaut koneksi ke database dimana saya menggunakan database MySQL. pada artikel ini saya akan bahas tentang Statement, apa itu Statement?

Statement merupakan kelas yang digunakan untuk melakukan proses manipulasi data, seperti INSERT, UPDATE, DELETE, SELECT bahkan bisa digunakan untuk melakukan proses CREATE

Statement ini terdapat dalam kelas java.sql, dan untuk membuat Statement, kita terlebih dahulu harus memiliki Connection, dan untuk membuat Statement caranya seperti dibawah ini :

java.sql.Statement = connection.createStatement();

connection diatas merupakan koneksi yang telah saya bahas pada artikel sebelumnya. agar lebih mudah, alangkah baiknya dibuat sebuah kelas ConnectionUtil yang digunakan untuk membuat Connection, contohnya seperti pada kode dibawah ini :

package echo.khannedy.belajarjdbc;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;

public class ConnectionUtil {

    private static Connection connection;

    static {
        try {
            Driver driver = (Driver) Class.forName("com.mysql.jdbc.Driver").newInstance();
            DriverManager.deregisterDriver(driver);

            String url = "jdbc:mysql://localhost:3306/belajar_jdbc";
            String username = "belajar";
            String password = "belajar";

            connection = DriverManager.getConnection(url, username, password);
        } catch (Throwable t) {
            t.printStackTrace();
        }
    }

    public static Connection getConnection() {
        return connection;
    }
}

jangan lupa sesuaikan seting url, username dan password sesuai dengan setting database anda. gan gunakan Driver yang sesuai dengan database anda juga. Dan jadi untuk membuat Statement, kita menggunakan kode seperti dibawah ini :

// membuat koneksi
Connection connection = ConnectionUtil.getConnection();
// membuat statement
Statement statement = connection.createStatement();

sebelum kita melakukan proses INSERT, UPDATE, DELETE menggunakan Statement, kita buat dulu tabel yang ada dalam database, contohnya seperti ini :

mysql> create table contoh(
    -> id integer primary key auto_increment,
    -> contoh varchar(45) not null,
    -> lagi varchar(45) not null
    -> );
Query OK, 0 rows affected (0.06 sec)

sekarang kita sudah punya sebuah table contoh dengan kolom id, contoh dan lagi. sekarang kita buat sebuah metode insert, update dan delete (pada artikel ini saya tidak akan bahas tentang select, karena hal ini akan dibahas di bagian Result Set)

package echo.khannedy.belajarjdbc;

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

public class Main {

    public void insertData(String contoh, String lagi) throws SQLException {
        Connection connection = ConnectionUtil.getConnection();
        Statement statement = connection.createStatement();
        statement.executeUpdate("INSERT INTO contoh VALUES (NULL, '" + contoh + "', '" + lagi + "')");
        statement.close();
    }

    public static void main(String[] args) throws SQLException {
        Main main = new Main();
        main.insertData("apa aja", "terserah");
        main.insertData("Eko Kurnaiwan", "Khannedy");
    }
}

seperti terlihat pada kode diatas, untuk melakukan proses insert update delete, kita menggunakan metode executeUpdate(), dan parameternya adalah perintah SQL yang akan dieksekusi ke database, dan pastinya harus bahasa SQL yang dimengerti oleh database yang digunakan 😀

jika kode diatas tersebut dijalankan maka akan melakukan proses INSERT sebanyak 2 kali yaitu data “apa aja” “terserah” sama “Eko Kurnaiwan” “Khannedy”, sehingga dalam databasenya akan terlibat seperti ini :

mysql> select * from contoh;
+----+---------------+----------+
| id | contoh        | lagi     |
+----+---------------+----------+
|  1 | apa aja       | terserah | 
|  2 | Eko Kurnaiwan | Khannedy | 
+----+---------------+----------+
2 rows in set (0.02 sec)

dibawah ini adalah contoh kode update data

package echo.khannedy.belajarjdbc;

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

public class Main {

    public void updateData(Integer id, String contoh, String lagi) throws SQLException {
        Connection connection = ConnectionUtil.getConnection();
        Statement statement = connection.createStatement();
        statement.executeUpdate("UPDATE contoh SET contoh='" + contoh + "', lagi='" + lagi + "' WHERE id=" + id + "");
        statement.close();
    }

    public static void main(String[] args) throws SQLException {
        Main main = new Main();
        main.updateData(1, "Parah", "Nih");
        main.updateData(2, "Koneksi", "Lemot");
    }
}

jika dijalankan hasilnya seperti ini :

mysql> select * from contoh;
+----+---------+-------+
| id | contoh  | lagi  |
+----+---------+-------+
|  1 | Parah   | Nih   | 
|  2 | Koneksi | Lemot | 
+----+---------+-------+
2 rows in set (0.00 sec)

dibawah ini adalah contoh kode delete :

package echo.khannedy.belajarjdbc;

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

public class Main {

    public void deleteData(Integer id) throws SQLException {
        Connection connection = ConnectionUtil.getConnection();
        Statement statement = connection.createStatement();
        statement.executeUpdate("DELETE FROM contoh WHERE id=" + id);
        statement.close();
    }

    public static void main(String[] args) throws SQLException {
        Main main = new Main();
        main.deleteData(1);
    }
}

jika kode diatas dijalankan, maka hasilnya seperti dibawah ini :

mysql> select * from contoh;
+----+---------+-------+
| id | contoh  | lagi  |
+----+---------+-------+
|  2 | Koneksi | Lemot | 
+----+---------+-------+
1 row in set (0.00 sec)

sekarang anda telah bisa melakukan proses INSERT UPDATE dan DELETE menggunakan Statement, namun sebenarnya ada yang menjadi masalah dengan Statement. masalahnya akan saya bahas pada bagian selanjutnya. untuk artikel kali ini, cukup sampai disini dulu 😀

Iklan

11 pemikiran pada “Belajar Java Database Connectivity {3} Membuat Statement

  1. Ping balik: Belajar Java Database Connectivity « BERBAGI ILMU

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s