sql >> Databasteknik >  >> RDS >> Mysql

DBUtils misslyckas med att fylla i fält i en Java Bean

Du kan fixa det på två sätt:

I enlighet med dbutils doc,

Om du håller en klass som denna

public class SezioneMenuBean implements Serializable {

    private int idSezioneMenu;

    private String nome;

    private int ordine;

    public SezioneMenuBean() {
    }

    // Getters and setters for bean values

}

Enligt den första lösningen skriv dina frågor ungefär så här SELECT id_sezione_menu AS idSezioneMenu, name, ordine FROM sezione_menu .

Eller

Baserat på den andra lösningen kan du använda GenerousBeanProcessor som är en underklass till BeanProcessor den ignorerar understreck och skiftlägeskänslighet från kolumnnamnet. Du behöver inte implementera din egen anpassade BeanProcessor

GenerousBeanProcessor är tillgänglig sedan version 1.6 av commons-dbutils .

Användning:

// 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());
}


  1. Hur du misslyckas eller kraschar dina MySQL-instanser för testning

  2. php mysql fulltextsökning i flera tabeller med id

  3. MySQL:är en SELECT-sats skiftlägeskänslig?

  4. Några förslag på ett db-schema för att lagra relaterade nyckelord?