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
会强制加上名称限定符 - 新增:
达梦
、MySql
、Oracle
、PostgreSQL
的keyword
- 新增:Mapper XML 的 DTD 和 Schema 验证文件
- 新增:
and
、or
规则 - 新增:
<selectKey>
标签及其扩展机制 - 新增:识别
kylin
数据库 - 新增:
insert xxx from select
场景对于insert
策略的支持 - 新增:
printStmtError
属性用来可以控制当sql
异常时是否强制打印错误 - 新增:
Uuid36Rule
规则 - 新增:
@Callable、@Query
注解增加resultType
属性
优化
- 优化:
resultMap
和entityMap
会走相同的代码,但是后者必须要配置table
属性、并且全局有效 - 优化:同 MyBatis3 一样,存储过程的调用后
out
参数放到传入参数中。因此不在需要@Callable
注解和<callable>
标签 - 优化:所有 mapper 都会实现
Mapper
标记接口 - 优化:重构 LambdaTemplate 相关代码,提供基于实体的单表 CURD 能力
- 优化:不在需要依赖任何需要基于元信息的查询,相关包也移除。
- 优化:
hasor-commons
工具包更换成cobble
,并且不在依赖sl4j
日志框架 - 优化:不在依赖
hasor-core
,同时删除hasor-core
相关的插件配置 - 优化:
SqlDialect
优化。降低组件耦合度,减少代码量,删除HerdDBDialect
- 优化:
SqlDialect
拆分为ConditionSqlDialect
和PageSqlDialect
- 优化:Mapping 机制使用
@Property
、@Table
两个注解实现,并且支持XML
方式配置 - 优化:
TableReader
接口删除getTableMapping
方法。 - 优化:提升 Mapper XML 针对 MyBatis3 兼容性
- 优化:提升 MyBatis3 的 DTD 兼容
- 优化:
<trim>
不再要求大小写敏感性。 - 优化:
<bind>
不再提供overwrite
属性 - 优化:MySql year 类型的兼容单元测试。
- 优化:dal 包相关功能重构优化。
- 优化:
JdbcTemplate
在处理存储过程的CallableStatementCallback
独立到SimpleCallableStatementCallback
类中 - 优化:Antlr4 升级到 4.9.2
- 优化:
RuleRegistry
、TypeHandlerRegistry
、MapperRegistry
- 优化:内置 jar 包目录换到
net.hasor.db.jars
- 优化:
page
包从lambda
中提升到顶层。 - 优化:
@MappedJdbcTypes
注解中的JDBC
参数类型改为Integer
- 优化:方法
commitLast
改名为commit
更容易理解。 - 优化:
TransactionManager
的getTransaction
方法改名为 begin
修复
- 修复:
resultMap
注册时space
被覆盖的问题。 - 修复:
AbstractRowMapper
在查找TypeHandler
时候特殊化处理 oracle - 修复:
@Table
注解name
、value
都为空的情况。 - 修复:
DataSourceManager
和TranManager
整合到一起,并且修复隔离级别设置错误的 Bug