×
JFinal 摘要

第0章 极速体验Model与Bean

0.1 极速体验 Generator0.2 JFinal相关生成文件0.3 Model 与 Bean 合体

第一章 快速上手

1.1 JFinal创建项目1.2 放入 JFinal 库文件1.3 修改 web.xml1.4 添加 java 文件1.5 JFinal启动项目1.6 开启浏览器看效果1.7 Maven 下开发

第二章 JFinalConfig

2.1 概述2.2 configConstant(Constants me)2.3 configRoute(Routes me)2.4 configPlugin (Plugins me)2.5 configInterceptor (Interceptors me)2.6 configHandler (Handlers me)2.7 afterJFinalStart()与 beforeJFinalStop()2.8 PropKit

第三章 Controller

3.1 概述3.2 Action3.3 getPara 系列方法3.4 getModel 与 getBean 系列方法3.5 setAttr 方法3.6 getFile 文件上传3.7 renderFile 文件下载3.8 session 操作方法3.9 render 系列方法

第四章 AOP

4.1 概述4.2 Interceptor4.3 Before4.4 Clear4.5 Interceptor 的触发4.6 Duang、Enhancer4.7 Inject 拦截器

第五章 ActiveRecord

5.1 概述5.2 ActiveRecordPlugin5.3 Model5.4 JavaBean 与 Model 合体5.5 JFinal 独创 Db + Record 模式5.6 声明式事务5.7 Cache5.8 Dialect 多数据库支持5.9 表关联操作5.10 复合主键5.11 Oracle 支持5.12 多数据源支持5.13 非 web 环境下使用 ActiveRecord

第六章 EhCachePlugin

6.1 概述6.2 EhCachePlugin6.3 CacheInterceptor6.4 EvictInterceptor6.5 CacheKit6.6 ehcache.xml 简介

第七章 RedisPlugin

7.1 概述7.2 RedisPlugin7.3 Redis 与 Cache7.4 非 web 环境使用 RedisPlugin第八章 Validator第九章 国际化第十章 FreeMarker 基础第十一章 JFinal 架构及扩展

5.5 JFinal 独创 Db + Record 模式


Db 类及其配套的 Record 类,提供了在 Model 类之外更为丰富的数据库操作功能。使用 Db 与 Record 类时,无需对数据库表进行映射,Record 相当于一个通用的 Model。以下为 Db + Record 模式的一些常见用法:

// 创建name属性为James,age属性为25的record对象并添加到数据库
Record user = new Record().set("name", "James").set("age", 25); Db.save("user", user);
 
// 删除id值为25的user表中的记录
Db.deleteById("user", 25);
 
// 查询id值为25的Record将其name属性改为James并更新到数据库 user = Db.findById("user", 25).set("name", "James"); Db.update("user", user);
 
// 获取user的name属性
String userName = user.getStr("name");
// 获取user的age属性
Integer userAge = user.getInt("age");
 
// 查询所有年龄大于18岁的user
List users = Db.find("select * from user where age > 18");
 
// 分页查询年龄大于18的user,当前页号为1,每页10个user
Page userPage = Db.paginate(1, 10, "select *", "from user where age > ?", 18);

以下为事务处理示例:

boolean succeed = Db.tx(new IAtom(){
public boolean run() throws SQLException {
int count = Db.update("update account set cash = cash - ? where id = ?", 100, 123);
int count2 = Db.update("update account set cash = cash + ? where id = ?", 100, 456);
return count == 1 && count2 == 1;
}});

以上两次数据库更新操作在一个事务中执行,如果执行过程中发生异常或者 invoke()方法 返回 false,则自动回滚事务。


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)