v5.4.0 (2023-08-24)
<dependency>
<groupId>net.hasor</groupId>
<artifactId>dbvisitor</artifactId>
<version>5.4.0</version>
</dependency>
不兼容更新
- 新增:SelectKeyHandler 类新增参数标识是 before 调用还是 after 调用
- 新增:KeySeqHolder 增加 onBefore/onAfter 方法用于标识调用阶段
- 优化:LambdaTemplate Map 模式下不在依赖任何数据库元信息,至此 dbVisitor 不会查询任何数据库元信息数据
- 优化:重写 InsertLambda 的逻辑可以有效处理 Entity 和 Map 两个模式下的差异点
- 移除:PhoenixDialect 方言
新增
- 新增:@BindTypeHandler 注解方便使用自定义 TypeHandler
- 新增:URITypeHandler、URLTypeHandler 两个 TypeHandler 及Types.DATALINK 和 Types.ROWID JDBC Type 支持
- 新增:h2/db2/derby/hive/hsql/impala/informix/sqllite/sqlserver/达梦/虚谷数据的关键字字典文件
- 新增:mapper 文件级可以配置 useDelimited 属性
- 新增:lambdaUpdate UpdateExecute 接口中增加一组 Condition 方法
- 新增:DalRegistry 增加两个 hasScope 方法,用于判断某个 scope 是否存在
- 新增:Lambda Delete/Insert/Select/Update for Map 支持 MappingOptions选项
优化
- 移除 dbVisitor generate 相关未完成的功能和代码
- 优化:升级 cobble 包版本为 4.5.4
- 优化:IncludeRule 逻辑使其拼出的 SQL 不在出现多余的空格
- 优化:lambdaUpdate/Delete/Query 兼容 tableMapping 没有匹配到任何列的极端情形
- 优化:Mapping 逻辑减少 TableDefaultInfo 的构建次数
- 优化:dtd/xsd 验证逻辑调整,entity 的 table 属性是可选的,如果省略 table 配置则实体类必须标有 @Table 注解