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

请大家看看数据库的查询操作!为什么为空指针异常
public User findByName(String username) {
  if(username.equals(""))
  {
  return null;
  }
 
  List users = hibernateTemplate.find(
  "from User user where user.username='" 
  + username + "'");
  if(users.size()==0)
  {
  return null;
 
  }
  else
  {
  return (User) users.get(0);
  }
  }
在action中执行到User user = userDAO.findByName(form.getUsername());
就说java.lang.NullPointerException


------解决方案--------------------
先检查你的userDAO是不是为null
在看看你的form是不是null
原因就好找了
------解决方案--------------------
form.getUsername()就为null吧, DEBUG时看看就知道了亚/
------解决方案--------------------
很可能传入的username是空值
------解决方案--------------------
public User findByName(String username) { 
if(username.equals("")) 

return null; 

try{
List users = hibernateTemplate.find( 
"from User user where user.username= '"
+ username + " '");
//诺是这里有异常是,可能你的映射文件中的映射表格的哪个类名是不是写错了啊User应该是类名,不是表名
}catch(Exception ex){
ex.printStackTrace();
}
//看看这里是否是一个null啊 
System.out.println(users);
if(users.size()==0) 

return null; 


else 

return (User) users.get(0);