commons-dbutils-1.0
1. Mapping nama kolom ke bean propertiesUntuk 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:
String columnName = rsmd.getColumnName(col);
menjadi
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);
}
}