程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> JFinal getModel方法(從頁面表單中獲取Model對象)+數據庫存儲問題,jfinalgetmodel

JFinal getModel方法(從頁面表單中獲取Model對象)+數據庫存儲問題,jfinalgetmodel

編輯:JAVA綜合教程

JFinal getModel方法(從頁面表單中獲取Model對象)+數據庫存儲問題,jfinalgetmodel


幾天有於這個的一個細節問題改了好幾個小時。。。。

一、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" />

前端中的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.方法名

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved