sql >> データベース >  >> RDS >> Mysql

DBUtilsがJavaBeanのフィールドへの入力に失敗する

    2つの方法で修正できます:

    dbutils docによると、

    このようなクラスを維持している場合

    public class SezioneMenuBean implements Serializable {
    
        private int idSezioneMenu;
    
        private String nome;
    
        private int ordine;
    
        public SezioneMenuBean() {
        }
    
        // Getters and setters for bean values
    
    }
    

    最初の解決策に従って、次のようなクエリを記述します。SELECT id_sezione_menu AS idSezioneMenu, name, ordine FROM sezione_menu

    または

    2番目のソリューションに基づいて、GenerousBeanProcessorを使用できます。 これはBeanProcessorのサブクラスです 列名のアンダースコアと大文字と小文字の区別は無視されます。独自のカスタムBeanProcessorを実装する必要はありません

    GenerousBeanProcessor commons-dbutilsのバージョン1.6以降で利用可能です 。

    使用法:

    // 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. PostgreSQL:大きなテーブルの小さなサブセットを結合するための最良の方法

    2. MySQLのFORUPDATEロックを使用する場合、正確にロックされるものは何ですか?

    3. Clustered Index と Unique Index の違いは何ですか?

    4. 日付列に基づくMySQLの週ごとのグループ化?