日期:2014-05-18  浏览次数:20667 次

请大家帮忙看下这逻辑有错吗
SSH整合
作用是修改密码的时候 判断原密码是否错误
先上这段代码:
public boolean findUserByNameAndPassword(String username, String userpassword) {
// TODO Auto-generated method stub
String sql_="from User u where u.username='"+username+"'and u.userpassword='"+userpassword+"'";


@SuppressWarnings("unchecked")
List<User> list= this.getHibernateTemplate().find(sql_);
while(list!=null)
{
return true;
}
return false;
}
按道理 username 或者userpassword任意一个与数据库不同 ,查出来的都应该是null
while循环以前是if  但是不管是哪种  都会return true
不知是不是我List<User> list= this.getHibernateTemplate().find(sql_);
while(list!=null)
逻辑有错还是语法有错

------解决方案--------------------
你getHibernateTemplate()这个方法返回的是一个List吧,应该判断size<=0,而不是判断null