bug修复解决 insertList 无法处理 DynamicTableName 问题,现在所有批量插入都支持动态表名了。 by wugh pr#14
MVN 依赖
<dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> <version>4.1.2</version> </dependency>
解决判断 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>
通用 Mapper 3.x 版本的时候是必须配置 mapper.mappers 属性的,从 4.x 开始增加了 @RegisterMapper 注解,该注解用于所有通用方法接口上,也用于所有作为基类的接口。该注解有以下主要作用。
初始化扫描 Mapper 时,如果发现了接口的 super interface 中(递归)存在带有 @RegisterMapper 注解,就会认为当前 Mapper 继承了通用方法,就会对该 Mapper 进行特殊处理。通用 Mapper 提供的所有通用接口都带有该注解。
如果你实现了自己的基类接口例如 MyMapper,你可以给这个接口添加 @RegisterMapper 注解,添加后所有继承 MyMapper 的接口都会被自动处理,不需要配置 mapper.mappers 属性。
和 Spring(Boot)集成时,从 basePackages 扫描的时候,如果发现接口上有 @RegisterMapper 注解,就会忽略该接口。
新手入门: https://blog.csdn.net/isea533/article/details/83045335
实现原理: https://blog.csdn.net/isea533/article/details/78493852