# 2022年7月31日 - 2.0.0 发布
# mybatis-mapper 发布 2.0.0
- mybatis-provider 升级为 2.1.1,同时引入了 mybatis-config 依赖,增加 mybatis-mapper.proerteis 用户自定义配置
- ExampleWrapper condition 系列方法新增 Supplier 重载 #47 (opens new window) by darren
- 更新代码生成器,解决
NAME=>nAME
错误,现在可以转换为name
- example / wrapper 新增字符串形式的排序方法重载 #34 (opens new window) by darren
- 修复 jpa 模块 获取 Entity 类型错误的问题(排除了基本类型) #41 (opens new window) by darren
- 完善和Spring的集成,完善Bean的初始化和加载,fixed #51 (opens new window)
- 针对 mybatis-provider 中 @Entity.Prop 注解的兼容性改动
- 添加 bom 子模块,管理 mybatis-mapper 中所有子模块的依赖 #45 (opens new window)(** by zhousiwei**),可以使用下面的方式管理依赖:
<dependencyManagement> <dependencies> <dependency> <groupId>io.mybatis</groupId> <artifactId>mapper-bom</artifactId> <version>2.0.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
# mybatis-mapper.proerteis 用户自定义配置
关于配置的详细设计和实现,参考: https://blog.csdn.net/isea533/category_11904924.html
目前可配置的参数如下:
mybatis.provider.style
,默认值为lower_underscore
,可选值如下:- normal 不做转换
- lower_underscore 驼峰转下划线
- upper_underscore 驼峰转大写下划线
- lower 转小写
- upper 转大写 支持扩展,详情看 mybatis-provider 项目
支持下面 3 个参数:
@Entity.Table(value = "user",
props = {
@Entity.Prop(name = "deleteByExample.allowEmpty", value = "false"),
@Entity.Prop(name = "updateByExample.allowEmpty", value = "false"),
@Entity.Prop(name = "updateByExampleSelective.allowEmpty", value = "false")
}
)
上面代码可以针对单个实体进行配置,也可以在配置文件中配置全局的默认配置。
除了直接在用户自定义配置文件中配置外,也支持系统变量和环境变量,使用 Spring Boot 时,也支持 Spring Boot 的所有外部化配置方式,支持在 application.[yaml|properties] 中配置,例如 yaml 方式:
mybatis:
provider:
style: lower_underscore
deleteByExample:
allowEmpty: false
updateByExample:
allowEmpty: false
updateByExampleSelective:
allowEmpty: false
# 还可以使用 spring boot 推荐的形式
update-by-example-selective:
allow-empty: false
# mybatis-provider 发布 2.1.1 版本
EntityProps
和@Entity.Prop
不兼容性改动,简化了类型操作。- 去掉了
NameConvert
接口和Utils
中的相关方法(Style
可以实现类似功能) EntityProps
中getProp
方法支持ConfigHelper
全局配置
# mybatis-provider 发布 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()
返回值为这里要配置的值。
# mybatis-config 发布 1.1.0
CSDN 专栏:Java通用配置设计实现 (opens new window)