1. Mapping nama kolom ke bean properties
Untuk merubah mapping nama kolom ke bean properties, dari standar penulisan field tabel di database yaitu dengan separator underscore "_" menjadi standar penulisan object field di java class yaitu tanpa separator dengan huruf kapital di awal kata. Misalnya: CUSTOMER_NAME menjadi customerName.
Ubah method
mapColumnsToProperties
pada class BeanProcessor
pada line 365 yaitu:menjadi
String columnName = rsmd.getColumnName(col);
columnName = StringUtils.replace(columnName, "_", "");Referensi ini ternyata lebih baik dari apa yang saya buat disini.
2. QueryRunner yang bersifat scrollable.
Kita biasanya perlu berpindah-pindah cursor (scrollable) dari suatu result set dengan menggunakan method
afterLast()
, beforeFirst()
dan lain-lain.Default class
QueryRunner
dalam commons-dbutils adalah menghasilkan ResultSet
yang bersifat TYPE_FORWARD_ONLY
dan CONCUR_READ_ONLY
. Untuk mengubah agar ResultSet
dapat kita perlu membuat subclass dari class QueryRunner
yang implementasinya seperti ini:
/*
* Created on Sep 23, 2004
*
*/
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.sql.DataSource;
import org.apache.commons.dbutils.QueryRunner;
public class QueryRunnerScrollable extends QueryRunner {
public QueryRunnerScrollable() {
super();
}
public QueryRunnerScrollable(DataSource ds) {
super(ds);
}
protected PreparedStatement prepareStatement(Connection conn, String sql)
throws SQLException {
return conn.prepareStatement(
sql,
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
}
}