当前位置: 移动技术网 > IT编程>开发语言>Java > java 中JFinal getModel方法和数据库使用出现问题解决办法

java 中JFinal getModel方法和数据库使用出现问题解决办法

2019年07月22日  | 移动技术网IT编程  | 我要评论
jfinal getmodel方法(从页面表单中获取model对象)+数据库存储问题 一、getmodel方法 1.在jconfig配置类中的数据库映射(存储到数据库时

jfinal getmodel方法(从页面表单中获取model对象)+数据库存储问题

一、getmodel方法

1.在jconfig配置类中的数据库映射(存储到数据库时需要此配置)

public void configplugin(plugins me) {
  c3p0plugin cp = null;
  try {
   cp = new c3p0plugin(
     "jdbc:mysql://localhost:3306/huaxuetang?useunicode=true&characterencoding=utf-8",
     "root", "1234");
   system.out.println("成功");
  } catch (exception e) {
   system.out.println("连接失败");
  }
  me.add(cp);
  activerecordplugin arp = new activerecordplugin(cp);
  arp.setshowsql(true);
  me.add(arp);
  arp.addmapping("bse_user", "id", user.class);
  arp.addmapping("grade_one_choice","id",gonequestion.class);
 }

中arp。addmapping()中有三个参数,第一个是数据库表名,第二个主键,第三个是对应的model类名称

2.model类

import com.jfinal.plugin.activerecord.model;

public class gonequestion extends model<gonequestion>{
 private static final long serialversionuid = 1l;
 // 声明一个全局操作的变量
 public final static gonequestion questiondao = new gonequestion();
}

3.前端表单

<input type="text" name="gonequestion.a" class="required" maxlength="50" style="width: 250px"/>

前端中的name=“modelname.atrrname”意思:比如此例中的model为gonequestion,表单中的属性为a,所以name就为:gonequestion.a

注意:只有首字母变成小写,其他不变

4.getmodel获取

gonequestion question =getmodel(gonequestion.class);

二、数据库存储问题

jfianl说明文档中:

user 中定义的 public static final user dao 对象是全局共享的,只能用于数据库查询, 不能用于数据承载对象。数据承载需要使用 new user().set(…)来实现。

意思是:比如本例中model定义的questiondao只能用来查询,不能用来插入数据。

插入数据时:(使用错会出现主键重复问题)

new gonequestion()
    .set("book", question.getstr("book"))
    .save();

删除增加数据时:gonequestion.questiondao.方法名

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网