Releases: mybatis-mapper/provider
2.2.5
What's Changed
- fixed #mybatis-mapper/mapper/issues/108 by @mfeng-ya in #13
- fixed #mybatis-mapper/mapper/issues/97 检测是否设置了主键策略异常
New Contributors
Full Changelog: 2.2.4...2.2.5
2.2.4
- 参考 pr #12 解决测试中环境变量对 username 的影响
- createEntityColumn 方法通过返回 IGNORE 来保证所有扩展的排除都能生效,例如 @Entity.Transient 和 JPA 的 @transient 可以同时生效
- 将Fn, Reflections 从 mybatis-mapper 移动到 mybatis-provider,保持原包名不变。
Full Changelog: 2.2.3...2.2.4
2.2.3 - 2023-12-16
- GenId支持批量插入,修改设置id逻辑,如果已经有值,则不生成新的ID覆盖。
- 解决genId中before=true时,高并发会导致主键为空的bug。
- 每次执行 Mapper 方法都会查找实体类,增加缓存可以加快速度,避免重复计算。
- 完善查找类判断实体类的逻辑,所有方式查找后都要执行 isEntityClass 方法进行判断。
2.2.2 - 2023-12-05
- 解决使用JPA时两个可能为null的属性,发布2.2.2版本,fixed #mybatis-mapper/mapper#92
2.2.1 - 2023-05-21
- 升级依赖版本 abel533 2023-03-21 20:26
- 解决并发时HashMap导致的NPE问题, fixed mybatis-mapper/mapper#77 abel533 2023-03-21 20:22
- 简化SPI类的实例化 abel533 2023-03-21 20:20
2.2.0 - 2022-12-26
- @Entity.Table 注解增加 catalog 和 schema 属性。 abel533 2022-12-26 0:25
- 增加3种排除字段的设置,fixed #56 abel533 2022-12-25 23:31
- 增加3种主键策略的单元测试,完善逻辑和提示信息。 abel533 2022-12-25 20:25
- 增加 MsCustomize.java 和 SqlSourceCustomize.java 接口,通过这两个接口实现主键策略。 abel533 2022-12-25 19:34
- 完善 MappedStatementCustomize 接口参数 abel533 2022-12-25 9:10
- 完善泛型类型处理,增加测试类验证 List 泛型字段的处理 abel533 2022-11-27 21:42
- 升级 mybatis-config 为 1.1.1,支持 spring boot 3 自动配置,升级 mybatis 3.5.11 abel533 2022-11-27 20:37
- 增加 MappedStatementCustomize 接口用于支持对 ms 的特殊处理,增加 mybatis-provider-v2.2.properties 版本配置,增加两个参数,对性能和内存有一定影响。 abel533 2022-11-27 17:41
- 通过 .editorconfig 统一代码样式,格式化代码 abel533 2022-08-23 23:49
- 优化实体获取class时转换异常 dengsoldeng 2022-08-02 9:50
- 解决实体字段获取类型转换的异常 dengsoldeng 2022-08-01 11:42
2.1.1 - 2022-07-31
EntityProps
和@Entity.Prop
不兼容性改动,简化了类型操作。- 去掉了
NameConvert
接口和Utils
中的相关方法(Style
可以实现类似功能) EntityProps
中getProp
方法支持ConfigHelper
全局配置
2.0.0 和 2.1.0 发布
大版本更新,默认不需要给所有字段添加注解,可以通过 @Entity.Table(style="normal")
指定字段转换样式,默认空时使用 lower_underscore
。
默认可选值如下:
normal
: 不做转换(不是默认值,需要设置)lower
: 转小写upper
: 转大写lower_underscore
: 驼峰转小写下划线(默认值)upper_underscore
: 驼峰转大写下划线
想要覆盖默认值时,通过属性 mybatis.provider.style
进行修改。
支持以下方式修改:
-
在类路径下面创建
mybatis-provider.properties
配置文件,通过mybatis.provider.style=xxx
指定值。 -
除了上面默认位置的配置外,还可以通过环境变量或者系统变量
io.mybatis.provider.properties
指定上面的配置名,可以带路径,方便通过外部配置覆盖。
系统变量如:java -jar -Dio.mybatis.provider.properties=custom.properties 可执行.jar
。环境变量如:
IO_MYBATIS_PROVIDER_PROPERTIES=custom.properties java -jar 可执行.jar
。 -
支持通过环境变量或者系统变量配置,例如
-Dmybatis.provider.style=xxx
。 -
支持Spring方式配置该值,Spring Boot 时可以在配置文件指定,支持 yaml 格式。
上述配置方式的优先级如下:
Spring(包含了Spring的外部化配置规则和优先级) > 系统变量 > 环境变量 > 配置文件
除了上面默认几种样式外,还可以通过 SPI 方式扩展 io.mybatis.provider.Style
接口,接口方法 String getStyle()
返回值为这里要配置的值。
1.1.1 正式版发布
发布 1.1.1 版本,升级依赖版本,替换 log4j 为 logback
1.1.0 正式版发布
发布 1.1.0 版本,升级依赖版本