ITPub博客

首页 > IT职业 > IT生活 > JDBC第一季课程 实战总结

JDBC第一季课程 实战总结

IT生活 作者:lizhm 时间:2021-09-09 08:59:57 0 删除 编辑

首先不得不说这一课比起mysql那一课难了很多。
由于老师给的数据库表太繁琐所以自己改了一点。
在最后设计视图层的时候总是会遇到空指针异常这样的错误,仔细检查发现也没有错误啊,跟着视频对把手撸的代码啊。后来在评论区中看到有人说,视频里的代码不全,要在控制层GoddessAction的Add函数下加上如下几行代码:

goddess.setSex(1);
goddess.setCreate_user("ADMIN");
goddess.setUpdate_user("ADMIN");
goddess.setIsdel(0);

但是由于我数据表比较略,所以根本没有这几行,所以这种方法对我的代码空指针异常没有什么作用。
我dao模型层的增加函数如下:

    //2,书写Insert语句
        String sql = ""+
               "insert into zhb_goddess"+
                " (user_name,age,birthday,mobile,update_user,update_date)"+
               " values(?,?,?,?,?,current_date())";
        //3,先预编译sql语句,不直接执行,当调用execute()方法时才执行
        PreparedStatement ptmt = conn.prepareStatement(sql);
        //给sql语句传递参数

        ptmt.setString(1, g.getUser_name());
        ptmt.setInt(2, g.getAge());
        //在给日期传值时需要注意,因为传递进来日期是java.util.data类型的,而此时需要的是java.sql.data的,因此要转换
        ptmt.setDate(3, new Date(g.getBirthday().getTime()));  
        ptmt.setString(4, g.getMobile());
        ptmt.setString(5, g.getUpdate_user());
        ptmt.execute();

这是原本代码,运行时总是在ptmt.setDate(3, new Date(g.getBirthday(). getTime())); 行包空指针异常,后来我就把将此行代码注释掉,然后再查询处做如下更改:

String sql = ""+
               "insert into zhb_goddess"+
                " (user_name,age,birthday,mobile,update_user,update_date)"+
               " values(?,?,current_date(),?,?,current_date())";

解决了空指针异常的问题,当然这并不是完美的方法,完美的方法还在探索,大家有什么问题的话可以给我留言讨论,欢迎大家!

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4614/viewspace-2798456/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-13

  • 博文量
    78
  • 访问量
    756