首页 > Java > java教程 > java中JFinal getModel方法和数据库使用出现问题的实例详解

java中JFinal getModel方法和数据库使用出现问题的实例详解

黄舟
发布: 2017-04-15 09:08:03
原创
2348 人浏览过

这篇文章主要介绍了java 中JFinal getModel方法和数据库使用出现问题解决办法的相关资料,需要的朋友可以参考下

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.方法名

以上是java中JFinal getModel方法和数据库使用出现问题的实例详解的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板