首先不得不说这一课比起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())";
解决了空指针异常的问题,当然这并不是完美的方法,完美的方法还在探索,大家有什么问题的话可以给我留言讨论,欢迎大家!