sql >> Database teknologi >  >> RDS >> Mysql

DBUtils udfylder ikke felter i en Java Bean

Du kan rette det på to måder:

I henhold til dbutils-dokumentet,

Hvis du holder en klasse som denne

public class SezioneMenuBean implements Serializable {

    private int idSezioneMenu;

    private String nome;

    private int ordine;

    public SezioneMenuBean() {
    }

    // Getters and setters for bean values

}

Som pr. første løsning skriv dine forespørgsler noget som dette SELECT id_sezione_menu AS idSezioneMenu, name, ordine FROM sezione_menu .

Eller

Baseret på den anden løsning kan du bruge GenerousBeanProcessor som er en underklasse af BeanProcessor den ignorerer understregning og store og små bogstaver fra kolonnenavnet. Du behøver ikke at implementere din egen tilpassede BeanProcessor

GenerousBeanProcessor er tilgængelig siden version 1.6 af commons-dbutils .

Brug:

// 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. Udførelse af replikeringstopologiændringer for PostgreSQL

  2. MySQL Dublerede rækker

  3. Opdatering af denormaliserede databasetabeller

  4. Loop n gange uden at bruge en lagret procedure