Kelas ArrayListHandler
Itu org.apache.commons.dbutils.ArrayListHandleradalah implementasi antarmuka ResultSetHandler dan bertanggung jawab untuk mengubah baris ResultSet menjadi objek []. Kelas ini aman untuk thread.
Deklarasi Kelas
Berikut adalah deklarasi untuk kelas org.apache.commons.dbutils.ArrayListHandler -
public class ArrayListHandler
extends AbstractListHandler<Object[]>
Pemakaian
Step 1 - Buat objek koneksi.
Step 2 - Dapatkan implementasi ResultSetHandler sebagai objek ArrayListHandler.
Step 3 - Meneruskan resultSetHandler ke objek QueryRunner, dan melakukan operasi database.
Contoh
Contoh berikut akan menunjukkan cara membaca daftar record menggunakan kelas ArrayListHandler. Kami akan membaca catatan yang tersedia di Tabel Karyawan sebagai objek [].
Sintaksis
List<Object> result = queryRunner.query(conn, "SELECT * FROM employees", new ArrayListHandler());
Dimana,
resultHandler - ArrayListHandler objek untuk memetakan hasil set ke daftar objek [].
queryRunner - Objek QueryRunner untuk membaca objek karyawan dari database.
Untuk memahami konsep yang disebutkan di atas terkait dengan DBUtils, mari kita tulis contoh yang akan menjalankan kueri baca. Untuk menulis contoh kita, mari kita buat aplikasi contoh.
Langkah | Deskripsi |
---|---|
1 | Perbarui file MainApp.java yang dibuat di bawah bab DBUtils - Aplikasi Pertama . |
2 | Kompilasi dan jalankan aplikasi seperti yang dijelaskan di bawah ini. |
Berikut ini adalah konten dari Employee.java.
public class Employee {
private int id;
private int age;
private String first;
private String last;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getFirst() {
return first;
}
public void setFirst(String first) {
this.first = first;
}
public String getLast() {
return last;
}
public void setLast(String last) {
this.last = last;
}
}
Berikut ini adalah konten dari MainApp.java mengajukan.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.List;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayListHandler;
public class MainApp {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/emp";
// Database credentials
static final String USER = "root";
static final String PASS = "admin";
public static void main(String[] args) throws SQLException {
Connection conn = null;
QueryRunner queryRunner = new QueryRunner();
//Step 1: Register JDBC driver
DbUtils.loadDriver(JDBC_DRIVER);
//Step 2: Open a connection
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
try {
List<Object[]> result = queryRunner.query(conn, "SELECT * FROM employees"
, new ArrayListHandler());
for(Object[] objects : result) {
System.out.println(Arrays.toString(objects));
}
} finally {
DbUtils.close(conn);
}
}
}
Setelah Anda selesai membuat file sumber, biarkan kami menjalankan aplikasinya. Jika semuanya baik-baik saja dengan aplikasi Anda, itu akan mencetak pesan berikut.
[100, 18, Zara, Ali]
[101, 25, Mahnaz, Fatma]
[102, 30, Zaid, Khan]
[103, 28, Sumit, Mittal]