Releases: baomidou/mybatis-plus
v3.5.1
v3.4.3
增加瀚高数据库支持
增加注解 Order By 支持默认排序
Wrapper exists notExists orderBy groupBy 支持参数绑定
Wrapper 支持 setParamAlias 其它优化
优化 KeyGenerator 支持多实现多数据源注入
增强 ServiceImpl 泛型推断,解决多继承与代理问题
新增 PageDto 用于微服务对象传输序列化
新增 Page 提供静态 of 构造方式
增加代理 MethodHandleProxies 对 lambda 调试支持
调整 ActiveRecord 日志对象初始化
调整 ActiveRecord 模式 Model 类开发 pkVal 方法外部可用
删除标记过时代码
优化枚举值获取方式
分页 count 安全处理
Sequence 方法支持重写支持
升级 Mybatis 3.5.7
修复自动配置 lazy-initialization 无属性提示
修复 mysql on duplicate key update 字段名判断为表名问题
修复 lambda 条件 npe 异常
重构 lambda 信息提取方法
获取 lambda 信息不在序列化
合并 gitee pulls/ 141
fixed github issues/3208 3016
fixed github issues/3482 数据权限处理器支持 union all
调整事务未启用打印提示信息
单元测试优化相关依赖升级
v3.4.2
fix: 移除 BlockAttackInnerInterceptor 内引用的 commons 的 utils
feat: PaginationInnerInterceptor 添加 optimizeJoin 属性控制是否在count时对sql的join进行优化
feat: 可通过Resources.setDefaultClassLoader设置默认类加载器.
feat: InterceptorIgnore 注解新增 others 属性
feat: IService 增加 kotlin 链式调用支持(ktQuery() 和 ktUpdate())
style: jsqlparser up to 4.0
style: 移除 com.baomidou.mybatisplus.extension.injector.methods.additional 包下的过时类
style: generator 模块另开仓库 generator
v3.4.1
v3.4.0
fix: @TableName.autoResultMap=true 情况下, 内置的 selectBody 将不会进行 as ,使用了的需要注意!!!
feat: 新增 mybatis-plus-boot-starter-test 模块
fix: MetaObjectHandler 重载错误(解决办法是参数位置对调),填充值在泛型上支持字段类型的子类
feat: mybatis up to 3.5.5, mybatis-spring up to 2.0.5
feat: jsqlparser up to 3.2
feat: 新增 MybatisParameterHandler, 废弃 MybatisDefaultParameterHandler
feat: 分页插件加入 GBase,ClickHouse,oscar,OceanBase 数据库连接自动识别的支持
feat: Wrapper 新增api not(boolean condition, Consumer consumer)
feat: 新增 MybatisPlusInterceptor 解决 多租户和分页 插件一级和二级缓存不正确问题
feat: 新分页插件优化 size<0 时继续拼接 orderBy
feat: 新增 IdentifierGenerator 一个实现类 ImadcnIdentifierGenerator
fix: chainWrapper#func 强转异常
fix(mybatis-plus-generator.main): 重构生成器数据库类型转换器,修复部分支条,提交选择器测试
fix: 修复复杂情况中动态表名替换产生的问题:正则由空白检测转为单词边界检测
refactor: 重构动态表名解析器,去除正则替换程序,改为按表名位置进行替换
refactor: 将表名解析重构为访问者模式,现在不会对原有 SQL 做改动
v3.3.2
- 分页参数提取,单元测试用例修复
- 达梦数据库代码生成器表过滤支持
- 微软数据库代码生成器表过滤支持
- 修复代码生成器属性字段规则错误
- SelectById 支持自定义方法名
- 修复分页插件获取数据库类型问题
- Json转换器空值处理
- bugfix(mybatis-plus-generator):SQL类型返回错误问题
- 调整未知方言异常,自动识别url转换小写匹配.
- fix: 初始化 TableInfo 中遇到多个字段有 @TableId 注解时未能抛出异常的问题
- SuperController有Class参数的set方法
- 增加方法StrategyConfig.setSuperServiceImplClass(java.lang.Class<?>).
- 代码生成器命名策略调整.
- 扩展分页缓存key值计算.
- 去除方法推测,直接访问属性字段.
- 修正枚举处理器类型不匹配比较.
- 修改表前缀匹配方式
- 修改在Mybatis全局配置文件中设置分页插件参数不生效问题
- 修改在Mybatis全局配置文件中设置分页插件参数不生效问
- 修复PR未指定解析器的时候引发空指针
- 增加分页插件limit参数配置
- 修复指定superEntityClass重复生成父类字段问题
- 无主键的情况无需导入IdType与TableId包
- 调整生成BaseResultMap格式
- 支持lombok模式下选择是否进行链式set生成
- 修复解析器for update错误
- 过滤PG约束列(只留下主键约束)
- 增加生成器禁用模板生成
- fix(kotlin): 修复动态表名 BUG,最大努力替换表名
- 修复PG约束生成重复属性字段问题
- fix(kotlin): 将 LambdaUtils 中缓存的 key 改为 String
- 代码生成器增加数据库关键字处理接口
- fix github/issues/2454 支持注解可继承
- 新增 AES 加密数据库用户名密码
- 优化方法入参泛型,支持更多类型
- 修复代码生成器开启移除is前缀生成实体缺少包导入
- fixed github issues/2470
v3.3.1.tmp
解决仓库未能成功同步3.3.1.
v3.3.1
- 新增
TableName
注解属性excludeProperty
支持排除字段 - 新增ServiceImpl#entityClass属性,减少泛型提取
- 新增phoenix支持
- 新增支持hbase的选装件
Upsert
- 新增生成器策略配置enableSqlFilter属性来控制是否启用SQL过滤表支持
- 新增批量执行方法,方便用户自定义批量执行操作
Wrapper
支持clear
清空Wrapper
子类新增func
方法,主要为了支持在if else
情况下使用Wrapper
的不同method不会导致断链(链式调用不能一链到底)BaseMapper
部分入参为Wrapper
的select方法支持wrapper.first
来设置RDS的hintKtUpdateWrapper#set
支持value为null- 支持泛型主键支持
- 优化分页拦截器数据类型与方言实现类配置
- 二级缓存复用count查询缓存
IService
部分method调整为default方法- 二级缓存兼容json序列化情况(主要出现默认缓存count出现long反序列化回来为int的情况)
- 处理批量操作嵌套事物问题(二级缓存更新问题)
- 修复启用乐观锁下updateById时自动填充不生效的问题
- 修复自动填充接口的default方法(
setFieldValByName
和getFieldValByName
)某些情况下会发生异常的问题 - 修复
KtWrapper
嵌套函数问题 - 修复Freemarker生成Kotlin类的常量错误
- 修复StringUtils#guessGetterName错误
- 修复SerializationUtils资源未释放问题
日常发版
BaseMapper 接口两个 page 方法优化
IService 以及 ServiceImpl 对应 page 方法优化,个别返回 collection 的方法修改为返回 list
逻辑删除字段的两个表示已删除和未删除的定义支持字符串 "null"
修复批量操作未清空缓存
批量操作异常转换为DataAccessException
mybatis up 3.5.3, mybatis-spring up 2.0.3, jsqlparser up 3.1
mapper 选装件包调整, chainWrapper 包调整
新增 ChainWrappers 工具类
新增 IdentifierGenerator 接口,支持自定义Id生成
代码生成工具废弃正则表名匹配,新增likeTable与notLikeTable
分页插件支持自定义处理页数限制与溢出总页数处理
修复SqlExplainInterceptor导致的Oracle序列自增两次
分页二级缓存支持
扩展p6spy日志打印
DbConfig加入新属性propertyFormat,TableFieldInfo移除属性related
优化序列生成器,过时KeySequence的clazz属性
修复Ognl表达式关键字导致的null值判断失效
修复更新填充开关失效
优化填充逻辑
ISqlRunner支持selectPage
支持全局逻辑删除字段
BaseMapper的方法可自定义
添加【虚谷】【Oracle12c】【Kingbase】数据库支持
解决数据库字段与实体字段名称不同时出现null as xxx的情况
过时ID_WORKER_STR,自动识别主键类型
配置开启注解,TableName也强制生成
v3.2.0
代码生成器添加达梦数据库支持
修复多主键查询表字段SQL的Bug
新增 updateWrapper 尝试更新,否继续执行saveOrUpdate(T)方法
代码生成器 pg 增加 numeric instant 类型支持
修复InjectionConfig不存在时无法生成代码的问题
fix: #1386(github) 逻辑删除字段为Date类型并且非删除数据日期为null
升级依赖 mybatis 版本为 3.5.2
升级依赖 jsqlparser 版本为 2.1
应 EasyScheduler 计划提交 Apache 孵化请求移除 996NPL 协议限制
调整 SQL 移除 SET 部分 Github/1460
移除 SqlMethod 枚举 UPDATE_ALL_COLUMN_BY_ID 属性,推荐使用 AlwaysUpdateSomeColumnById 套
fix: #1412(github) github:mybatis-plus-generator can't support oracle
fix: github 1380
移除全局配置的 dbType 和 columnLike
移除 fieldStrategy, 使用上个版本新增的三个替代
移除 PerformanceInterceptor 相关, 建议使用 p6spy
移除 el 拆分为 jdbcType typeHandler 等具体属性
升级 gradle-5.5.1,lombok-1.18.4
当selectStatement.getSelectBody()的类型为SetOperationList
移除 GlobalConfig#sqlParserCache 属性,移除 LogicSqlInjector, OrderItem 新增2个快捷生成的method, page 新增一个入参是 List 的 addOrder method
Nested 接口个别入参是 Function<Param, Param> func 的method,入参更改为 Consumer consumer,不影响规范的使用
fixed gitee/I10XWC 允许根据 TableField 信息判断自定义类型
Merge pull request #1445 from kana112233/3.0
支持过滤父类属性功能
添加批量异常捕获测试
多租户ID 值表达式,支持多个 ID 条件查询
扩展新增 json 类型处理器 jackson fastjson 两种实现