Você pode corrigi-lo de duas maneiras:
De acordo com o documento dbutils,
Se você está mantendo uma classe como esta
public class SezioneMenuBean implements Serializable {
private int idSezioneMenu;
private String nome;
private int ordine;
public SezioneMenuBean() {
}
// Getters and setters for bean values
}
De acordo com a primeira solução, escreva suas consultas algo assim
SELECT id_sezione_menu AS idSezioneMenu, name, ordine FROM sezione_menu
. Ou
Com base na segunda solução, você pode usar
GenerousBeanProcessor
que é uma subclasse de BeanProcessor
ele ignora sublinhado e distinção entre maiúsculas e minúsculas do nome da coluna. Você não precisa implementar seu próprio BeanProcessor
personalizado GenerousBeanProcessor
está disponível desde a versão 1.6 do 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());
}