JFinal框架學習-----Db+Record

在JFinal中,除了Model能夠對數據庫進行操做以外,JFinal還提供了Db+Record模式來對數據庫進行操做。html

Record至關於一個通用的Model,不一樣的是Record只可以承載數據,須要藉助DB類來進行數據庫的操做。而Model類既可承載數據也能夠對數據庫進行操做。(Record類裏只使用Map來存儲數據庫裏每一列的字段,DB類封裝了數據庫的經常使用操做:save,update,delete,find/query。java

下面,咱們來看一下Db+Record的一些使用方法:數據庫

package com.controller;

import com.jfinal.core.Controller;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Page;
import com.jfinal.plugin.activerecord.Record;
import com.model.Blog;

import java.util.List;
import java.util.Map;

public class RecordController extends Controller{

    /**
     * 查詢全部blog
     */
    public void index(){
        List<Record> bloglist= Db.find("select * from blog");
        setAttr("bloglist",bloglist);
        renderJsp("BlogList.jsp");
    }

    /**
     *根據id刪除blog
     */
    public void deleteBlog(){
        Db.deleteById("blog",getParaToInt("id"));
        redirect("/record");
    }

    /**
     * 添加blog
     */
    public void saveBlog(){
        Record blogs=new Record().set("title",getPara("title")).set("content",getPara("content")).set("category",getPara("category"));
        Db.save("blog","id",blogs);
        redirect("/record");
    }
    
    public void edit(){
        Integer id=getParaToInt("id");
        if(id !=null && id>0){
            Record blog=Db.findById("blog",id);
            setAttr("blog",blog);
            render("blogUpdate.html");
        }
    }

    /**
     * 更新
     */
    public void updateBlog(){
        Record record=new Record();
        record.set("id",getPara("blog.id"));
        record.set("title",getPara("blog.title"));
        record.set("content",getPara("blog.content"));
        Db.update("blog",record);
        redirect("/record");
    }

    /**
     * 分頁查詢
     */
    public void paginate(){
        Integer pageNumber=getParaToInt("pageNumber");
        if(pageNumber==null){
            pageNumber=1;
        }
        Page<Record> page=Db.paginate(pageNumber,5,"select *","from blog");
        setAttr("blogPage",page);
        renderJsp("page.jsp");
    }
}

 

在updateBlog()方法中,咱們能夠看出,與使用Model模式相比,Model爲咱們提供了getModel()方法來獲取request中的數據,而Db+Record模式並無這樣的方法,所以,當咱們須要得到一個Record對象的時候,咱們須要本身構造。jsp

相關文章
相關標籤/搜索