Puedes arreglarlo de dos maneras:
Según el documento de dbutils,
Si estás manteniendo una clase como esta
public class SezioneMenuBean implements Serializable {
private int idSezioneMenu;
private String nome;
private int ordine;
public SezioneMenuBean() {
}
// Getters and setters for bean values
}
Según la primera solución, escriba sus consultas algo como esto SELECT id_sezione_menu AS idSezioneMenu, name, ordine FROM sezione_menu
.
O
Basado en la segunda solución, puede usar GenerousBeanProcessor
que es una subclase de BeanProcessor
ignora el guión bajo y la distinción entre mayúsculas y minúsculas del nombre de la columna. No tiene que implementar su propio BeanProcessor
personalizado
GenerousBeanProcessor
está disponible desde la versión 1.6 de commons-dbutils .
Uso:
// TODO initialize
QueryRunner queryRunner = null;
ResultSetHandler<List<SezioneMenuBean>> resultSetHandler =
new BeanListHandler<SezioneMenuBean>(SezioneMenuBean.class, new BasicRowProcessor(new GenerousBeanProcessor()));
// best practice is specifying only required columns in the query
// SELECT id_sezione_menu, name, ordine FROM sezione_menu
final List<SezioneMenuBean> sezioneMenuBeans = queryRunner.query("SELECT * FROM sezione_menu", resultSetHandler);
for (SezioneMenuBean sezioneMenuBean : sezioneMenuBeans) {
System.out.println(sezioneMenuBean.getIdSezioneMenu());
}