跳到主要内容

v4.3.0 (2021-12-18)

<dependency>
<groupId>net.hasor</groupId>
<artifactId>dbvisitor</artifactId>
<version>4.3.0</version>
</dependency>

新增

  • 新增:Aliyun ADB For MySql,专用元数据查询服务和数据模型
  • 新增:MySQL,专用元数据查询服务和数据模型
  • 新增:SqlDialect 接口中 db-keywords 当列名中出现 keyword 会强制加上名称限定符
  • 新增:达梦MySqlOraclePostgreSQLkeyword
  • 新增:Mapper XML 的 DTD 和 Schema 验证文件
  • 新增:andor 规则
  • 新增:<selectKey> 标签及其扩展机制
  • 新增:识别 kylin 数据库
  • 新增:insert xxx from select 场景对于 insert 策略的支持
  • 新增:printStmtError 属性用来可以控制当 sql 异常时是否强制打印错误
  • 新增:Uuid36Rule 规则
  • 新增:@Callable、@Query 注解增加 resultType 属性

优化

  • 优化:resultMapentityMap 会走相同的代码,但是后者必须要配置 table 属性、并且全局有效
  • 优化:同 MyBatis3 一样,存储过程的调用后 out 参数放到传入参数中。因此不在需要 @Callable 注解和 <callable> 标签
  • 优化:所有 mapper 都会实现 Mapper 标记接口
  • 优化:重构 LambdaTemplate 相关代码,提供基于实体的单表 CURD 能力
  • 优化:不在需要依赖任何需要基于元信息的查询,相关包也移除。
  • 优化:hasor-commons 工具包更换成 cobble,并且不在依赖 sl4j 日志框架
  • 优化:不在依赖 hasor-core,同时删除 hasor-core 相关的插件配置
  • 优化:SqlDialect 优化。降低组件耦合度,减少代码量,删除 HerdDBDialect
  • 优化:SqlDialect 拆分为 ConditionSqlDialectPageSqlDialect
  • 优化:Mapping 机制使用 @Property@Table 两个注解实现,并且支持 XML 方式配置
  • 优化:TableReader 接口删除 getTableMapping 方法。
  • 优化:提升 Mapper XML 针对 MyBatis3 兼容性
  • 优化:提升 MyBatis3 的 DTD 兼容
  • 优化:<trim> 不再要求大小写敏感性。
  • 优化:<bind> 不再提供 overwrite 属性
  • 优化:MySql year 类型的兼容单元测试。
  • 优化:dal 包相关功能重构优化。
  • 优化:JdbcTemplate 在处理存储过程的 CallableStatementCallback 独立到 SimpleCallableStatementCallback 类中
  • 优化:Antlr4 升级到 4.9.2
  • 优化:RuleRegistryTypeHandlerRegistryMapperRegistry
  • 优化:内置 jar 包目录换到 net.hasor.db.jars
  • 优化:page 包从 lambda 中提升到顶层。
  • 优化:@MappedJdbcTypes 注解中的 JDBC 参数类型改为 Integer
  • 优化:方法 commitLast 改名为 commit 更容易理解。
  • 优化:TransactionManagergetTransaction 方法改名为 begin

修复

  • 修复:resultMap 注册时 space 被覆盖的问题。
  • 修复:AbstractRowMapper 在查找 TypeHandler 时候特殊化处理 oracle
  • 修复:@Table 注解 namevalue 都为空的情况。
  • 修复:DataSourceManagerTranManager 整合到一起,并且修复隔离级别设置错误的 Bug