標籤:查詢 推出 handler sql where javabean bean rom 原因
1,javaBean如下:
public class User {
/**
* 使用者唯一標識(ID)
*/
private String uid;
/**
* 使用者名稱(user既手機號)
*/
private String phone;
/**
* 擷取使用者唯一標識(ID)
*
* @return 使用者唯一標識(ID)
*/
public String getUid() {
return uid;
}
/**
* 擷取使用者名稱(user既手機號)
*
* @return 使用者名稱(user既手機號)
*/
public String getPhone() {
return phone;
}
/**
* 設定使用者名稱(user既手機號)
*
* @param phone
* 使用者名稱(user既手機號)
*/
public void setPhone(String phone) {
this.phone = phone;
}
}
2,查詢記錄如下:
String sql = "select * from user where phone = ?";
QueryRunner runner= new QueryRunner(DaoUtils.getSource());
@SuppressWarnings("rawtypes")
User query = (User) runner.query(sql, new BeanHandler(User.class), phone);
這時會發現查詢出的結果uid為null,phone有值。
~~~~~~~~~~~~~~~~~~~~~~~~~~~
原因:
uid欄位沒有set方法,所以沒有賦值。由此推出dbutils是通過set方法反射進行賦值的。
解決方案:
javaBean中增加uid的set方法即可。
java dbutils查詢資料庫時無法給部分欄位賦值原因