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
规则 - 所有 mapper 都会实现
Mapper
标记接口 @Callable、@Query
注解增加resultType
属性
优化
- 提升覆盖率。
- 重构 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
MyBatis3 兼容性
resultMap
和entityMap
会走相同的代码,但是后者必须要配置table
属性、并且全局有效- 同 MyBatis3 一样,存储过程的调用后
out
参数放到传入参数中。因此不在需要@Callable
注解和<callable>
标签
修复
- 修复
resultMap
注册时space
被覆盖的问题。 AbstractRowMapper
在查找TypeHandler
时候特殊化处理 oracle- 修复
@Table
注解name
、value
都为空的情况。 DataSourceManager
和TranManager
整合到一起,并且修复隔离级别设置错误的 Bug