继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

JDBC第一季课程 实战总结

蛛丝与马迹
关注TA
已关注
手记 8
粉丝 9
获赞 105

首先不得不说这一课比起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())";

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

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP