进行数据库操作的时候获取不到 model的字段

疯狂的逍遥 发布于 2013/05/10 11:59
阅读 382
收藏 0

@JFinal 你好,想跟你请教个问题:

使用这种方法可以插入:

Record user = new Record().set("name1", getPara("users.name1")).set("password", getPara("users.password"));
Db.save("users", user);

使用 :getModel(UserRegister.class).save();

下面是日志打印出来的,反射不回来表字段!

JFinal action report -------- 2013-05-10 11:55:31 ------------------------------
Controller  : com.demo.userRegister.UserRegisterController.(UserRegisterController.java:1)
Method      : save
Interceptor : com.demo.userRegister.UserRegisterInterceptor.(UserRegisterInterceptor.java:1)
              com.demo.userRegister.UserRegisterValidator.(UserRegisterValidator.java:1)
Parameter   : users.id=  users.password=123  users.name1=123  
--------------------------------------------------------------------------------
Before invoking /userRegister/save
Sql: insert into `users`() values()


2013-05-10 11:55:31
[ERROR]-[Thread: http-80-3]-[com.jfinal.core.ActionHandler.handle()]: /userRegister/save
com.jfinal.plugin.activerecord.ActiveRecordException: java.sql.SQLException: Field 'name1' doesn't have a default value


加载中
1
pandyyan
pandyyan

返回参数: users.id=  users.password=123  users.name1=123  

modelname.前缀应该是Model首字母小写。

getModel(UserRegister.class).save();这对不上,

要么是getModel(User.class).save();

要么参数是userRegister .id=  userRegister .password=123  userRegister .name1=123  

0
pandyyan
pandyyan

肯定注入不了的,getModel是基于ActiveRecord模式,将传入的参数注入到相应的Model对象中,DB+Record方式是不需要对数据库表做映射的,也就不需要单独创建Model。

0
疯狂的逍遥
疯狂的逍遥

引用来自“pandyyan”的答案

返回参数: users.id=  users.password=123  users.name1=123  

modelname.前缀应该是Model首字母小写。

getModel(UserRegister.class).save();这对不上,

要么是getModel(User.class).save();

要么参数是userRegister .id=  userRegister .password=123  userRegister .name1=123  

OK!明白了!
返回顶部
顶部