*/
public <T> List<T> query(String sql, GearsRowMapper<T> mapper,
Object... args) {
try {
ResultSet rs = execute(sql, args);
List<T> rtn = new ArrayList<T>();
for (int i = 0; rs.isValidRow(); ++i, rs.next()) {
rtn.add(mapper.mapRow(rs, i));
}
rs.close();
return rtn;
} catch (DatabaseException e) {
Log.error(sql + " : " + e.getMessage());
throw new RuntimeException(e);
}