通用 Mapper 更新日志。
解决 Config 中 ORDER 配置在 Spring Boot 中无法生效的问题
更新 4.1 专用代码生成器 文档,使用全新的内容
升级 mapper-core 到 1.0.1 (和 4.0.1 中的 core 相同)
升级 mybatis 到 3.4.6
升级 mybatis-spring 到 1.3.2
地址: https://github.com/abel533/mapper-base2
该项目直接从 mapper/base 模块复制而来,对接口中的泛型增加了主键和 Example,可以更严格的控制参数。
主要 Mapper 接口为 tk.mybatis.mapper.common2.Mapper<T, ID, EXAMPLE>。
注意包名中的 common2
使用示例如下:
public interface CountryMapper
extends Mapper<Country, Integer, Example>,
HsqldbMapper<Country>,
MySqlMapper<Country>,
IdsMapper<Country> {
}
和
public interface UserInfoMapper
extends Mapper<UserInfo, Integer, Example> {
}
如何引入?
tk.mybatis:mapper 项目默认聚合了 mapper-base 项目,而当前这个是 mapper-base2 项目。
由于包名完全不同,因此可以在原来基础上直接引入 mapper-base2 :
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-base2</artifactId>
<version>1.0.0</version>
</dependency>
<selectKey>中的order属性,可选值为BEFORE和AFTER。
后来为了方便在 Spring Boot 中配置该参数,符合 Boot 的规范,增加了 order 和 before 两个别名。
在 3.1 的配置以及 2.3.2 和 2.3.3 中都提到了这个参数。
在支持主键递增,满足 2.3.2 中的情况时,配置如下:
//Properties 方式配置时 ORDER=AFTER //还可以 order=AFTER //或 before=false //Spring Boot 中,比上面多个前缀,并且 ORDER 不能使用 mapper.order=AFTER //或者(Spring Boot) mapper.before=false
在类似Oracle序列或者通用的 UUID 时,配置如下:
//Properties 方式配置时 ORDER=BEFORE //还可以 order=BEFORE //或 before=true //Spring Boot 中,比上面多个前缀,并且 ORDER 不能使用 mapper.order=BEFORE //或者(Spring Boot) mapper.before=true
上面示例中有多种写法,使用时按照需要选择一种即可,切勿同时配置!