麻烦老师看看,谢谢

麻烦老师看看,谢谢

http://img1.sycdn.imooc.com//climg/5d3ef97c0001099f16810995.jpg

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为空

http://img1.sycdn.imooc.com//climg/5d3ef9ba0001e3e919201030.jpg


在数据库中得id为自动增长啊,为啥为空了?

正在回答

登陆购买课程后可参与讨论,去登陆

5回答

同学你好。同学试一下查询方法会不会报错呢?同学的报错信息中既有51行又有56行的报错?如果是51行的报错,同学给的报错信息中,输出的user是在插入前打印的还是插入后打印的呢?同学可以尝试输出System.out.println("getSession():"+getSession());试一下是不是null

http://img1.sycdn.imooc.com//climg/5d400b670001ad6905630309.jpg

祝学习愉快~

提问者 燚燚炎 2019-07-30 17:30:08

我解决了是映射的问题,谢谢 老师,但是请老师可以及时回复我的问题,我真是江湖救急

  • 老师也一直在冥思苦想哦,有时候真的一下子定位不到具体的问题在哪儿呢。期盼着自己能更快的帮助你吧~加油
    2019-07-30 17:35:36
  • 提问者 燚燚炎 回复 芝芝兰兰 #2
    原来如此,谢谢老师,我会坚持下来的
    2019-07-30 17:55:37
芝芝兰兰 2019-07-30 15:12:54

同学你好。getSqlSessionFactory()方法的s是需要大写的哦~

http://img1.sycdn.imooc.com//climg/5d3fed380001936407370165.jpg

如果解答了同学的疑问,望采纳~

祝学习愉快~


  • 提问者 燚燚炎 #1
    这是我自己定义的方法来获取SqlSessionFacory。这个没有问题的
    2019-07-30 15:17:03
  • 芝芝兰兰 回复 提问者 燚燚炎 #2
    那请同学把控制台全部的报错信息都复制粘贴出来看一下~
    2019-07-30 15:59:52
  • 提问者 燚燚炎 回复 芝芝兰兰 #3
    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)
    2019-07-30 16:14:12
提问者 燚燚炎 2019-07-30 14:40:30

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;
   }
}

芝芝兰兰 2019-07-30 14:38:46

同学你好。仅凭贴出的部分无法定位问题哦~

http://img1.sycdn.imooc.com//climg/5d3fe59b0001e3d307890259.jpg

同学可以贴一下UserDAO的代码

注意不要贴在回复里,会失去代码的格式。可以用回答这个问题的方式,将代码贴入。

祝学习愉快~


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师