Db + Record 模式取表单提交的所有数据

戈壁胡杨 发布于 2014/05/23 17:50
阅读 1K+
收藏 0

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

Db + Record 模式中,能否直接把表单提交的所有数据都直接映射成Recored,不用getPara一个个的取

比如这样写 Record a = getModel(Record.class); 拿到表单提交的所有内容。

能否加一个对象RecordT,比Record多一个表名属性,getModel(RecordT("表名")),用表单提交的name名称当字段名,去数据库中匹配字段类型,完了得到一个RecordT对象,直接DB.save(RecordT);保存数据。就是把String tableName,Record m综合一下,oracle能通过表名字段名得到字段类型,不知到mysql行不。

String table_name = "table_name";
  Map<String,Object> p = new HashMap<String, Object>();//Record 的Columns
  Map<String,String[]> map = getParaMap();//页面提交的数据
  for (Iterator<String> keys = map.keySet().iterator(); keys.hasNext();) {
     String key = (String) keys.next();
     //getColumntype:通过表名,列名取到字段类型
     if(mkModel.getColumntype(table_name, key).equals("DATE")){
      p.put(key, new java.sql.Date(getParaToDate(key).getTime()));
     }else{
      p.put(key, getPara(key));
     }
  }
  Record m = new Record();
  m.setColumns(p);
  Db.save(table_name, m);

加载中
0
JFinal
JFinal
    Record 并没能与 table 建立对应关系,得不到字段名,也不知道字段类型,所以 getModel(Record.class) 目前还无法实现,可以使用 getModel(YourModel.class) 或者 getModel(YourJavaBean.class),或者使用拦截器来处理
戈壁胡杨
问题我又编辑了一下,能否在看看
0
菜根乱谭
菜根乱谭
可以自己封装,我就自己封装的,电脑不在身边,以后分享一下
戈壁胡杨
好啊,分享一下让大家学习学习
返回顶部
顶部