项目地址
- https://gitee.com/mybatis-mapper/provider
- https://github.com/mybatis-mapper/provider
核心实现中定义了
- 对象和表之间映射关系数据的结构和获取方式,通过 SPI 支持部分自定义扩展。
- Provider 中的实现中需要返回
namespace.methodName
类型的字符串(而不是SQL),通过中间缓存在 Caching
中获取真正的 SQL 信息。
当前项目没有直接提供可用的通用方法,方法在 mybatis-mapper/mapper( gitee | GitHub )中提供。
2.1.0 更新日志
2.0.0 和 2.1.0 区别是 mybatis-config 从 1.0.0 升级为了 1.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()
返回值为这里要配置的值。
增加 @Entity.Transient
注解
默认字段上不需要加 @Entity.Column
注解后,所有字段都会当成表字段进行处理(没有排除基本类型、枚举、List 等),想要排除某些字段时,必须在字段上添加该注解。