麻烦老师看看,谢谢
Users{id=null, username='aaa', userpass='45454645', nickname='小红', age=78, gender='男', email='falgjia409@qq.com', phone='1', createTime=Mon Jul 29 21:47:05 CST 2019, updateTime=Mon Jul 29 21:47:05 CST 2019, lastLogin=Mon Jul 29 21:47:05 CST 2019, userStatus=0, remark='null'}
java.lang.NullPointerException
at com.damu.dao.UsersDAO.addUser(UsersDAO.java:51)
at com.damu.servlet.UsersAddServlet.doPost(UsersAddServlet.java:31)
at com.damu.servlet.UsersAddServlet.doGet(UsersAddServlet.java:37)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
=========================
id为空
在数据库中得id为自动增长啊,为啥为空了?
正在回答
同学你好。同学试一下查询方法会不会报错呢?同学的报错信息中既有51行又有56行的报错?如果是51行的报错,同学给的报错信息中,输出的user是在插入前打印的还是插入后打印的呢?同学可以尝试输出System.out.println("getSession():"+getSession());试一下是不是null
祝学习愉快~
package com.damu.dao;
import com.damu.entity.Users;
import com.damu.utils.SqlSessionFactoryUtils;
import org.apache.ibatis.session.SqlSession;
import java.util.List;
public class UsersDAO {
private SqlSession sqlSession;
private List<Users> list;
private Users users;
private SqlSession getSession() {
sqlSession = SqlSessionFactoryUtils.getsqlSessionFactory().openSession();
return sqlSession;
}
/*查询所用用户
* */
public List<Users> findAll() {
try {
list = getSession().selectList("findUsers");
} catch (Exception e) {
e.printStackTrace();
} finally {
sqlSession.close();
}
return list;
}
/*
* 查询单个用户*/
public Users findById(Integer id) {
try {
users = getSession().selectOne("findUsers", new Users(id));
} catch (Exception e) {
e.printStackTrace();
} finally {
sqlSession.close();
}
return users;
}
/*
* 新真单个用户
* */
public Users addUser(Users user) {
try {
getSession().insert("addUser", user);
sqlSession.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
/* sqlSession.close();*/
}
return users;
}
}
- 参与学习 人
- 提交作业 357 份
- 解答问题 8016 个
本阶段将带你学习MySQL数据库,JDBC接口,MyBatis框架等,带你掌握的数据的存放和管理。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星