通用 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
上面示例中有多种写法,使用时按照需要选择一种即可,切勿同时配置!