Pendahuluan
Batch Update adalah suatu proses dimana kita dapat menjalan kumpulan dari beberapa sql statement hanya dengan satu kali proses. Batch Update hanya berlaku untuk proses insert, update, dan delete.Untuk mengetahui lebih dalam tentang Batch Update, silahkan lihat contoh perbandingan SQL Statement dengan dan tanpa Batch Update.
Contoh Statement Tanpa Batch Update
Di bawah ini adalah contoh program SQL Statement tanpa menggunakan Batch Update.package com.mbj.jdbc.test;
import java.sql.*;
public class SatementDemo{
public static void main(String[] args){
try{
System.out.println("Accessing Oracle JDBC Driver");
Class.forName("oracle.jdbc.driver.OracleDriver");
}catch(ClassNotFoundException ex){
System.out.println("Failed to connect Oracle JDBC Driver");
ex.printStackTrace();
}
System.out.println("Successfully Connecting Oracle JDBC Driver");
Connection connection = null;
Statement statement = null;
try{
connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:hris","root","password");
statement = connection.createStatement();
List<String> queryList = new ArrayList()<String>;
String query1 = "insert into mahasiswa(nim, nama) values ('1','Nursalim')";
String query2 = "insert into mahasiswa(nim, nama) values ('2','Iski')";
String query3 = "insert into mahasiswa(nim, nama) values ('2','Budi')";
queryList.add(query1);
queryList.add(query2);
queryList.add(query3);
for(String query : queryList){
statement.execute(query);
}
}catch(SQLException sqx){
System.out.println("Error connecting to Oracle Database");
sqx.printStackTrace();
}
connection.close();
}
}
Dengan menggunakan statement biasa, maka setiap kali statement di jalan, program akan mengakses database. Ini akan menjadi problem ketika berurusan dengan jumlah data yang besar. Problemnya macam-macam bisa waktu eksekusi yang lama sampai terjadi error java.lang.OutOfMemoryError.
Untuk mengatasi masalah diatas, maka digunakanlah solusi Batch Update. Untuk Lebih jelasnya lihat contoh di bawah ini.
Contoh Statement dengan Batch Update
Di bawah ini adalah contoh penggunaan Batch Update dalam Statement.package com.mbj.jdbc.test;
import java.sql.*;
public class BatchUpdateStatementDemo{
public static void main(String[] args){
try{
System.out.println("Accessing Oracle JDBC Driver");
Class.forName("oracle.jdbc.driver.OracleDriver");
}catch(ClassNotFoundException ex){
System.out.println("Failed to connect Oracle JDBC Driver");
ex.printStackTrace();
}
System.out.println("Successfully Connecting Oracle JDBC Driver");
Connection connection = null;
Statement statement = null;
try{
connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:hris","root","password");
statement = connection.createStatement();
List<String> queryList = new ArrayList()<String>;
String query1 = "insert into mahasiswa(nim, nama) values ('1','Nursalim')";
String query2 = "insert into mahasiswa(nim, nama) values ('2','Iski')";
String query3 = "insert into mahasiswa(nim, nama) values ('2','Budi')";
queryList.add(query1);
queryList.add(query2);
queryList.add(query3);
for(String query : queryList){
statement.addBatch(query);
}
int[] hasil = statement.executeBatch();
}catch(SQLException sqx){
System.out.println("Error connecting to Oracle Database");
sqx.printStackTrace();
}
connection.close(); }
}