dbVisitor 5.4.0 发布,高度兼容 MyBatis 的轻量 ORM 框架

介绍

dbVisitor 是一个全功能数据库访问 ORM 工具,提供对象映射、丰富的类型处理、动态 SQL、存储过程、 内置分页方言 20+、 支持嵌套事务、多数据源、条件构造器、INSERT 策略、多语句 / 多结果。并兼容 Spring 及 MyBatis 用法。 它不依赖任何其它框架,因此可以很方便的和任意一个框架整合在一起使用。

依赖

<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 注解
  • 优化:针对 H2 2.2.220 版本的兼容性问题
  • 优化:单元测试代码,提升覆盖率/修复测试Case问题,目前 834 个单元测试全部正常,行覆盖率提升到 77%,类覆盖率提升到 92%
  • 优化:DalSession 在调用 createMapper 时候不必强制要求 Mapper 接口必须标记 @xxMapper 注解,它会自动探测 DalRegistry
  • 优化:ExecuteInvocationHandler 逻辑针对接口 default 调用实现参考 mybatis 兼容 java8 和 java9

修复

  • 修复:报错内容不正确,始终是空指针异常的问题(社区用户 aqnghu 贡献)
  • 修复:lambdaInsert 当自增列配置为不参与 insert 时自增数据不回填的问题
  • 修复:mapper 文件级 MappingOptions 不生效的问题(优先级顺序为:table -> mapper 文件级 -> 全局)
  • 修复:Oracle 使用 InsertLambda 批量 insert 失败的问题
  • 修复:SqlXmlForReaderTypeHandler 类无法正常工作的问题
  • 修复:BaseMapper 接口中 updateById 会强制把 id 也带上的问题
优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/255698/dbvisitor-5-4-0-released

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。