12/04/2015

Cara Menggunakan Statement Pada JDBC Via SQLite Database

Pada tutorial kali ini, kita akan belajar tentang Cara Menggunakan Interface Statement Pada SQLite Melalui JDBC (Java Data Base Connectivy).

Interface Statement digunakan untuk menjalankan atau mengeksekusi sebuah SQL statement yang bersifat statis, tanpa menggunakan parameter.

Sebelum Anda menggunakan object Statement, Anda harus membuat object Connection terlebih dahulu. Object Statement dibuat dengan menggunakan method createStatement() dari object Connection,

Perhatikan potongan kode program berikut:

Statement stmt = null;
Connection conn = null;
String updateQuery = "Update table_name SET column_name = value1";
String selectQuery = "SELECT * FROM table_name";
try {
   stmt = conn.createStatement();
   Boolean ret = stmt.execute(updateQuery);
   int row = stmt.executeUpdate(updateQuery);
   ResultSet rs = stmt.executeQuery(selectQuery);
   
   . . .
}catch (SQLException e) {
   . . .
}finally {
   . . .
}

Dari potongan kode diatas, dapat kita simpulkan bahwa ada 3 method yang digunakan pada object Statement, yaitu:
  1. Method execute()

    Method execute() akan mengembalikan nilai boolean true jika ada data yang diterima dari object ResultSet. Method ini biasanya digunakan pada DDL statement, dan DML Statement.

  2. Method executeUpdate()

    Method execute() akan mengembalikan nilai integer dari jumlah data atau rows yang terkena impact dari proses Insert statement, Update statement maupun Delete statement.

  3. Method executeQuery()

    Method execute() akan mengembalikan nilai dari object ResultSet yang merupakan hasil dari Select statement.

Contoh Program


Di bawah ini adalah contoh implementasi JDBC Statement pada program Java dan SQLite database:

//STEP 1. Import package yang dibutuhkan
import java.sql.*;

public class JDBCStatementExample {
   // Membuat jdbc driver dan database URL
   static final String JDBC_DRIVER = "org.sqlite.JDBC";  
   static final String DB_URL = "jdbc:sqlite:C:/sqlite/hr.db";
   
   public static void main(String[] args) {
   Connection conn = null;
   Statement stmt = null;
   try{
      //STEP 2: Register JDBC driver
      Class.forName(JDBC_DRIVER);

      //STEP 3: Membuka sebuah koneksi
      System.out.println("Connecting to database...");
      conn = DriverManager.getConnection(DB_URL);

      //STEP 4: Membuat Object statement
      System.out.println("Membuat Object statement");
      stmt = conn.createStatement();
      String sql = "UPDATE Tbl_pegawai set alamat='Brebes' WHERE id_pegawai=5";
      
      
      Boolean ret = stmt.execute(sql);
      System.out.println("Return value is : " + ret.toString() );

      int rows = stmt.executeUpdate(sql);
      System.out.println("Rows impacted : " + rows );

      // Menampilkan data pegawai
      sql = "SELECT id_pegawai, nama_depan, nama_belakang, alamat FROM tbl_pegawai";
      ResultSet rs = stmt.executeQuery(sql);

      //STEP 5: Extract data dari result set
      while(rs.next()){
         //Retrieve data berdasarkan nama kolom
         int id_pegawai  = rs.getInt("id_pegawai");
         String nama_depan = rs.getString("nama_depan");
         String nama_belakang = rs.getString("nama_belakang");
         String alamat = rs.getString("alamat");

         //menampilkan nilai
         System.out.print("ID Pegawai: " + id_pegawai);
         System.out.print(", Nama Depan: " + nama_depan);
         System.out.print(", Nama Belakang: " + nama_belakang);
         System.out.println(", Alamat: " + alamat);
      }

      //STEP 6: Clean-up database
      rs.close();
      stmt.close();
      conn.close();
   }catch(SQLException se){
      se.printStackTrace();
   }catch(Exception e){
      e.printStackTrace();
   }finally{
      try{
         if(stmt!=null)
            stmt.close();
      }catch(SQLException se2){
      }try{
         if(conn!=null)
            conn.close();
      }catch(SQLException se){
         se.printStackTrace();
      }
   }
 }
}

Sekian tutorial singkat tentang Cara Menggunakan Statement Pada JDBC Via SQLite Database. Semoga bermanfaat & Happy Learning SQLite.

Salam,

Nursalim

No comments:

Post a Comment