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