转载

通用 Mapper 4.1.2 发布,Starter 重大更新

4.1.2 - 2018-12-16

强烈推荐升级,尤其是 mapper-spring-boot-starter 需要升级到 2.1.2 版本

  • bug修复解决 insertList 无法处理 DynamicTableName 问题,现在所有批量插入都支持动态表名了。 by  wugh pr#14

MVN 依赖

<dependency>    
  <groupId>tk.mybatis</groupId>    
  <artifactId>mapper</artifactId>    
  <version>4.1.2</version>
</dependency>

mapper-spring-boot-starter 相关更新

  • 解决判断 MapperFactoryBean 包名错误的大 BUG(2.x 版本),应该是  tk.mybatis.spring.mapper.MapperFactoryBean 而不是  org.mybatis.spring.mapper.MapperFactoryBean ,这个 BUG 导致了 issues 中出现的 WARN 警告。

  • 现在即使扫描到了基类Mapper,也会排除带有 @RegisterMapper 注解的接口。

  • 使用 starter 时,可以配置 mybatis.base-packages 属性,配置该属性后在自动扫描时,会扫描指定的目录,并且不会要求接口带 @Mapper 注解。

  • 和 MyBatis 官方 Starter 同步,增加 mybatis.typeAliasesSuperType 属性。

  • 升级 Spring Boot 版本到 2.1.1.RELEASE

MVN 依赖:

<dependency>    
  <groupId>tk.mybatis</groupId>
  <artifactId>mapper-spring-boot-starter</artifactId>
  <version>2.1.2</version>
</dependency>

@RegisterMapper 注解简单介绍

通用 Mapper 3.x 版本的时候是必须配置 mapper.mappers 属性的,从 4.x 开始增加了 @RegisterMapper 注解,该注解用于所有通用方法接口上,也用于所有作为基类的接口。该注解有以下主要作用。

  1. 初始化扫描 Mapper 时,如果发现了接口的 super interface 中(递归)存在带有 @RegisterMapper 注解,就会认为当前 Mapper 继承了通用方法,就会对该 Mapper 进行特殊处理。通用 Mapper 提供的所有通用接口都带有该注解。

  2. 如果你实现了自己的基类接口例如 MyMapper,你可以给这个接口添加 @RegisterMapper 注解,添加后所有继承 MyMapper 的接口都会被自动处理,不需要配置 mapper.mappers 属性。

  3. 和 Spring(Boot)集成时,从 basePackages 扫描的时候,如果发现接口上有 @RegisterMapper 注解,就会忽略该接口。

新手入门: https://blog.csdn.net/isea533/article/details/83045335

实现原理: https://blog.csdn.net/isea533/article/details/78493852

原文  https://www.oschina.net/news/102763/mapper-4-1-2-released
正文到此结束
Loading...