Skip to content

2.0.0 发布 - 2022-07-31

Compare
Choose a tag to compare
@abel533 abel533 released this 31 Jul 02:49
· 66 commits to master since this release
  • mybatis-provider 升级为 2.1.1,同时引入了 mybatis-config 依赖,增加 mybatis-mapper.proerteis 用户自定义配置
  • ExampleWrapper condition 系列方法新增 Supplier 重载 #47 by darren
  • 更新代码生成器,解决NAME=>nAME错误,现在可以转换为 name
  • example / wrapper 新增字符串形式的排序方法重载 #34 by darren
  • 修复 jpa 模块 获取 Entity 类型错误的问题(排除了基本类型) #41 by darren
  • 完善和Spring的集成,完善Bean的初始化和加载,fixed #51
  • 针对 mybatis-provider 中 @Entity.Prop 注解的兼容性改动
  • 添加 bom 子模块,管理 mybatis-mapper 中所有子模块的依赖 #45(** 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-provider 升级到 2.1.1 版本

mapper 依赖 provider,provider 2.1.1 版本有大量改动对 mapper 也有影响,具体改动参考对应的版本日志:

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