在數據庫中查詢一欄,我想查詢例如一整列的數據:錯誤而使用彈簧
SELECT USER_USERNAME FROM xxxx WHERE USER_USERNAME=?
我收到提示
org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0
吾道
@Override
public String getAllUsers(UserRegistration uname) {
System.out.println(uname.getUserName());
return template.queryForObject(GET_USER_USERNAME, new Object[] { uname.getUserName() },
new BeanPropertyRowMapper<String>(String.class));
}
我通過xml文件注入屬性。
我控制器
@RequestMapping(method = RequestMethod.POST,value = "/checkUserName", headers = "Accept=application/json")
public org.weber.nag.model.UserRegistration checkUserName(@RequestBody org.weber.nag.model.UserRegistration userReg) {
userDao.getAllUsers(userReg);
return userReg;
}
所以從當我試圖通過從郵遞員所花費的值到控制器,並從那裏我將它傳遞給我的DAO的用戶名來比較上述該名稱是否退出或沒有。名稱成功達到我的道,但我得到一個錯誤。
於是,我就捕捉到了異常
@Override
public String getAllUsers(UserRegistration uname) {
System.out.println(uname.getUserName());
try {
return template.queryForObject(GET_USER_USERNAME, new Object[] { uname.getUserName() },
new BeanPropertyRowMapper<String>(String.class));
} catch (EmptyResultDataAccessException e) {
System.out.println("uname already exists");
return "user exists";
}
}
但每次打印
"uname already exists"
時間,不論是否給予用戶名的有以dB與否。
使用查詢對象,它得到執行。謝謝。 – mark