Affects Version/s: None
Fix Version/s: 1.2
I use the BeanListHandler for huge ResultSets (about 1000000 rows), and I searched through the code to see if I could gain little time.
It appeared to me that the following code - in BeanProcessor.class - was executed too many times:
for the following reason.
Since BeanListHandler extends GenericListHandler, the method #handle(ResultSet) calls #handleRow(ResultSet) for each row in the ResultSet,
which in the case of a BeanListHandler, calls RowProcessor#toBean(ResultSet, Class),
which itself calls BeanProcessor#toBean(ResultSet, Class).
A very simple way to make the BeanListHandler#handle(ResultSet) method faster is to override the GenericListHandler#handle(ResultSet) method by this code:
This way, the code I showed would be called only once, as it would not call BeanProcessor#toBean(ResultSet, Class) for each row but BeanProcessor#toBeanList(ResultSet, Class).