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

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

1、getmodel方法mysql

1.在JConfig配置類中的數據庫映射(存儲到數據庫時須要此配置)sql

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類app

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.前端表單ui

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

前端中的name=「Modelname.atrrname」意思:好比此例中的model爲GOneQuestion,表單中的屬性爲A,因此name就爲:gOneQuestion.Aspa

注意:只有首字母變成小寫,其餘不變code

4.getmodel獲取對象

GOneQuestion question =getModel(GOneQuestion.class);

2、數據庫存儲問題blog

jfianl說明文檔中:

User 中定義的 public static final User dao 對象是全局共享的,只能用於數據庫查詢, 不能用於數據承載對象。數據承載須要使用 new User().set(…)來實現。

意思是:好比本例中model定義的questiondao只能用來查詢,不能用來插入數據。

插入數據時:(使用錯會出現主鍵重複問題)

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

刪除增長數據時:GOneQuestion.questiondao.方法名

相關文章
相關標籤/搜索