JFinal 3.1 changelog

jfinal 3.1 changelog:

1:sql管理添加分页支持,Model、Db 添加 paginate(int, int, SqlPara)

2:Model、Db 添加 getSql(String, Object...) 方法,添加 #para(int) 用法

3:增强sql管理的 #para 指令实现,ParaDirective,支持任意表达式

4:添加 arp.addSqlTemplate(IStringSource) 方便扩展任意 sql 模板源

5:添加ActiveRecordPlugin.getEngine()方法,便于对sql管理Engine对象进行配置

6:Model、Db添加paginateByFullSql(),作为paginate()的补充,支持复杂order by子句无法被replace的情况

7:添加 Db.getSql() 方法,支持无 data 参获取 sql

8:Model.getSql() 方法去除内部对 this.attrs 值的传递,避免对于dao对象的误用

9:打磨模板引擎词法分析器,消除使用嵌套指令多出来的一个换行符

10:Scope 添加 getData()、setData()、getRootData(),便于在自定义扩展指令中使用

11:增强 Field 表达式,支持获取数组长度:array.length

12:改进 Logic.isTrue() 添加对 double、float 值的逻辑判断

13:增强 #include 指令,支持自由传参功能:#include("_hot.html", title="热门新闻", list=newsList)

14:打磨 Arith,除以 0 或者对 0 取模异常信息添加模板文件名与行号,便于查错

15:模板引擎添加 #render 指令,可动态渲染子模板,作为 #include 静态包指令的补充

16:重构模板引擎在 devMode 之下资源重新加载设计,大幅降低相关代码量,提升代码可读性

17:添加 Kv 工具类用于取代 JMap,字符输入量更小,且输入更顺滑

18:添加 ElKit 工具类,30 行代码实现 EL 求值

19:增强 Controller.renderFile() 支持下载文件重命名

20:增强 FileRender,支持多种浏览器中文文件名下载,支持下载文件重命名

21:Dialect.forPaginate() 方法中的 select 与 sqlExceptSelect 被合并为 findSql,对方言有过扩展的小伙伴需要注意一下这个改变

22:Dialect 中添加buildModelList()与buildRecordList()便于对Model、Record构建过程进行控制

    例如实现 JDBC 类型到 java 类型的精确映射,便于实现划线表字段转驼峰表字段扩展

23:ModelBuilder、RecordBuilder 去掉所有final关键字,便于继承展

24:增强 DruidPlugin,密码加密功能,添加 connectionInitSql,添加自动检测驱动类型,升级到最新版 1.0.29

25:添加 HikariCpPlugin 支持 HikariCP,号称史上最快数据库连接池

26:添加 Generator.setMappingKitClassName() 方法,便于设置 MappingKit 文件名

27:去除 Model.checkTableName方法,不再检测 sql 中是否存在本 model 对应的 tableName

28:fastjson、druid升级到最新版

评论区

laolang

2017-05-27 13:57

沙发呀,波总威武!

byteuser

2017-06-02 10:40

新版的druid如何配置公钥私钥?