jfinal 3.4 changelog 共 38 条
主要涉及:数据库、模板引擎
1: 添加 TimestampProcessedModelBuilder、TimestampProcessedRecordBuilder 支持 oracle、postgresql 的 TIMESTAMP、DATE 字段类型
2: OracleDialect 启用 TimestampProcessedModelBuilder 与 TimestampProcessedRecordBuilder 支持 oracle 的 TIMESTAMP、DATE 字段类型
3: SqlServerDialect 两个 fillStatement 方法添加对 java.util.Date 的分支判断,issue:http://www.jfinal.com/feedback/2667
4: 改进 TableBuilder, 支持 oracle 的 TIMESTAMP、DATE 字段类型
5: 改进 MetaBuilder,支持 oracle 的 TIMESTAMP、DATE 字段类型
6: DbPro 中 private 的 paginate、batch 方法改为 protected,便于通过 IDbProFactoy 扩展
7: DbPro 两个 batch 方法添加对 java.util.Date 的分支判断
8: Model 中的 getTable()更名为_getTable(),_getTable()、_getModifyFlag() 改为 protected 可见性
9: Model.getUsefulClass() 更名为 _getUsefulClass()
10: Model.keep() 方法中添加一处 null 判断,支持无数据源场景下使用
11: 改进 Generator 中 Engine 初始化方式,避免多数据源下多次调用生成器时异常: tio作者提出
12: 添加对 postgresql 的 jsonb 支持
13: Json 中的 defaultDatePattern 初始值由 null 改为 "yyyy-MM-dd HH:mm:ss", JFinalJson 中删掉 datePattern 属性,
升级时要注意配置:JsonManager.me().setDefaultDatePattern(null) 或者具体值
14: Enjoy 的 Map 定义表达式中的 key 值添加对 int long float double true false null 的支持
例子:#({1 : '自买', 2 : '跟买'}.get(type = 2) ?? '-')
例子:#set(map = {1 : "aaa", 2L : "bbb", 3.14: "ccc", true : 123, null : 456})
15: Enjoy 添加 String、Integer、Double、Float、Long、Short、Byte 添加 toShort() toByte() 扩展方法
16: TemplateRender 中 Engine 属性改为 protected
17: MethodKeyBuilder、SharedMethodKit 中生成 key 的 hash 添加对 null 值的处理,避免在方法重载且第一次访问使用null参之后,第二次调用重载方法时的异常
18: TemplateRender 避免对 ClientAbortException、EofException 做日志
19: Index 表达式支持 Map 类型时 key 值为 null
20: Map 定义初始化表达式的 key 支持 int、long、float、double、true、false、null 常量值
21: Scope.exists(key) 方法添加对于 sharedObject 的判断
return sharedObjectMap != null ? sharedObjectMap.contains(key) : false;
22: engine 支持baseTemplatePath 设置为 null
23: 添加 setToClassPathSourceFactory 用于快捷配置 ClassPathSourceFactory
24: Template 添加 render(Map, File) 与 render(Map, String) 方便渲染数据到文件中,常用于代码生成场景
25: Unary 添加 toConstIfPossible() 优化性能
26: RandomDirective 优化性能
27: NowDirective.setExrpList 更正为 setExprList
28: ElKit.getEngine() 添加 static
29: 添加 Constants.setConfigPluginOrder(),用于指定 configPlugin() 被调用次序
30: CaptchaRender 更换字体数组,解决某些 linux 版本由于缺少字体文件引发的验证码乱码问题
31: 改进 PathKit.getRootClassPath() 支持 linux 非 web 环境下正确获取
32: Controller getParaToInt 与 getParaToLong 添加对 value[i] 的空字符串判断, "" 转成 null 值,小木提出
33: core 包下的 converter 添加 ByteConverter 与 ShortConverter 转换
34: 优化 Scanner 性能
35: RedisPlugin Cache 添加 flushDB() flushAll()
36: 添加 Routes.setClearAfterMapping(),便于在系统启动后仍然可以使用 Routes 内的数据
37: PathKit.isAbsolutelyPath() 更名为 isAbsolutePath()
38: Captcha 添加无参构造方法,支持 redis 反序列化