java record db 框架_JFinal框架学习-----Db+Record

在JFinal中,除了Model可以对数据库进行操作之外,JFinal还提供了Db+Record模式来对数据库进行操作。

Record相当于一个通用的Model,不同的是Record只能够承载数据,需要借助DB类来进行数据库的操作。而Model类既可承载数据也可以对数据库进行操作。(Record类里只使用Map来存储数据库里每一列的字段,DB类封装了数据库的常用操作:save,update,delete,find/query。

下面,我们来看一下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 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 page=Db.paginate(pageNumber,5,"select *","from blog");

setAttr("blogPage",page);

renderJsp("page.jsp");

}

}

在updateBlog()方法中,我们可以看出,与使用Model模式相比,Model为我们提供了getModel()方法来获取前端页面的Model对象,而Db+Record模式并没有这样的方法,因此,当我们需要获得一个Record对象的时候,我们需要自己构造。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值