Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

DBUtils không thể điền vào các trường của Java Bean

Bạn có thể sửa nó theo hai cách:

Theo tài liệu dbutils,

Nếu bạn đang giữ một lớp học như thế này

public class SezioneMenuBean implements Serializable {

    private int idSezioneMenu;

    private String nome;

    private int ordine;

    public SezioneMenuBean() {
    }

    // Getters and setters for bean values

}

Theo giải pháp đầu tiên, hãy viết các truy vấn của bạn như sau SELECT id_sezione_menu AS idSezioneMenu, name, ordine FROM sezione_menu .

Hoặc

Dựa trên giải pháp thứ hai, bạn có thể sử dụng GenerousBeanProcessor là một lớp con của BeanProcessor nó bỏ qua dấu gạch dưới và phân biệt chữ hoa chữ thường từ tên cột. Bạn không phải triển khai BeanProcessor tùy chỉnh của riêng mình

GenerousBeanProcessor có sẵn kể từ phiên bản 1.6 của commons-dbutils .

Cách sử dụng:

// 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MyISAM so với InnoDB

  2. Django Kết hợp Truy vấn VÀ và HOẶC với Trường ManyToMany

  3. cách cập nhật giá trị hoán đổi của hai hàng với một truy vấn

  4. Codeigniter Active Record HAVING / WHERE db.field =db.field

  5. Làm thế nào để thay đổi mysql thành mysqli?