我用了演示案例,演示add方法,到最后一步添加电话号码以后就会报错。。。。。我不知道视频里面是怎么成功的
好像必须是全部参数都要赋值才可以添加成功啊
稍微改一下就好了
public void addGoddess(Goddess g) throws Exception
{
Connection conn=DBUtil.getConnetion();
String in=null;
Integer i=0;
String sql=""+
"insert into imooc_goddess"+
"(user_name,sex,age,birthday,email,mobile,"+
"create_user,create_date,update_user,update_date,isdel)"+
"values("+
"?,0,?,?,?,?,null,current_date(),null,current_date(),1)";
//将上述语句进行加载
PreparedStatement ptmt=conn.prepareStatement(sql);
ptmt.setString(1,g.getUser_name());
//ptmt.setInt(2,g.getSex());
ptmt.setInt(2, g.getAge());
ptmt.setDate(3, new Date(g.getBrithday().getTime()));
ptmt.setString(4, g.getEmail());
ptmt.setString(5, g.getMobile());
// ptmt.setString(7, g.getCreate_user());
// ptmt.setString(8, g.getUpdate_user());
// ptmt.setInt(9, g.getIsdel());
ptmt.execute();
}
不一定吧!我的看法是:在建立数据表的时候,有的字段并没有非空约束啊!插进去null,不也行吗?
把sex的类型改为int,就有默认值了
我也是,查看抛出的异常是因为sex与Isdel字段没有赋值。为什么视频里就成功了?
我也是,查看抛出的异常是因为sex与Isdel字段没有赋值。为什么视频里就成功了?
按照老师的视频演示,确实会报错。
原因:action的add方法调用了dao的addGoddess方法,而在addGoddess方法中设置预编译sql语句ptmt的参数值时,需要传入Goddess对象的属性值。因此,如果我们没有在view层输入相应的属性值,sql语句将会报出空指针异常