在编写查询语句时就要考虑异常的发生,前提是需要利用返回的对象判断其是否为null。
如不编写也不会中断,但是在调用时账户或密码不正确,则会抛出异常。
/**
* 登录方法
* @param loginUser 只有用户名和密码
* @return User包含用户全部数据
*/
public User login(User loginUser){
//编写sql
String sql = "select * from user where username = ? and password = ?";
//调用query方法
try {
return template.queryForObject(sql,
new BeanPropertyRowMapper<User>(User.class),
loginUser.getUsername(), loginUser.getPassword());
}catch (EmptyResultDataAccessException e){
return null;
}
}