qq_32935311
qq_32935311
采纳率0%
2015-11-30 15:41

ssh连接oracle做登陆,遇到了空指针

2

图片说明我就做了一个简单的连接数据库登陆,求大神帮忙啊啊啊

代码

public class UserDaoImpl implements UserDao{

//查询验证用户是否存在
private SessionFactory sessionFactory;

public SessionFactory getSessionFactory() {
    return sessionFactory;
}

public void setSessionFactory(SessionFactory sessionFactory) {
    this.sessionFactory = sessionFactory;
}

@Override
public User checkUser(User user) {
    Session session=sessionFactory.openSession();
    //SQL查询语句
    String hql = "from UserInfo where username = ? and password = ? ";
    //将查询出的结果放在list  
    Query query= session.createQuery(hql);
    query.setString(1, user.getUsername());
    query.setString(2, user.getPassword());
    List<User> users=query.list();
    //判断查询结果的第一个值
    if(users.size()>0){
        return users.get(0);
    }else{
        return null;
    }
}

}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • wohenni0931 wohenni0931 6年前

    赋值有问题。setString方法的值为什么要加引号? 你组装出来的语句是

     select * from UserInfo where username='user.getUsername()' and password='user.getPassword()'
    
    点赞 2 评论 复制链接分享
  • u012427018 鼬佐 6年前

    哪里空指针,是30行吗? 26行和27行应该改成0和1,我记得下标是从0开始

    点赞 1 评论 复制链接分享
  • mingqingchangcheng mingqingchangcheng 6年前

    setString方法后面的user.getUsername已经是一个字符串,不需要加引号;另外hql的语句是从下标0开始赋值的

    点赞 评论 复制链接分享

相关推荐