• 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=" 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只能用来查询,不能用来插入数据。

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

    1
    2
    3
    new GOneQuestion()
        .set("book", question.getStr("book"))
        .save();

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

  • 相关阅读:
    &nbsp|&quot|&amp|&lt|&gt等html字符转义
    OpenSSL: 消息摘要算法
    Linux下tcp协议socket的recv函数返回时机分析(粘包)
    ipv6
    Electron 调用系统工具记事本、计算器等
    MySQL 导出函数与存储过程
    远程连接Ubuntu桌面配置
    当Activity继承AppCompatActivity如何实现隐藏标题栏与状态栏
    spring boot 1.5.2 操作mongodb3.4.0
    VScode-Go can't load package: package .: no buildable Go source files in
  • 原文地址:https://www.cnblogs.com/mracale/p/7889634.html
Copyright © 2020-2023  润新知