Skip to content

Releases: baomidou/mybatis-plus

v3.5.6

08 Apr 15:58
Compare
Choose a tag to compare
  • fix: 修复通用Service多层代理引发的错误
  • fix: 修复Json类型处理器反序列化泛型丢失原始类型
  • fix: 修复填充器处理器基本类型数组出现强制错误
  • fix: 修复上版本移除掉Page方法保留至PageDto类之中
  • fix: 修复IllegalSQLInnerInterceptor未处理Parenthesis
  • fix: 修复IllegalSQLInnerInterceptor表名或字段名包裹导致无法获取索引信息和索引字段校验问题
  • fix: 修复KtUpdateChainWrapper调用setSql的时候params没有展开
  • fix: 修复useGeneratedShortKey配置失效
  • fix: 修复DataChangeRecorderInnerInterceptor一系列问题
  • feat: 去除sqlFirst与sqlComment转义(如有需要转义操作,请手动调用转义后传入)
  • feat: ServiceImpl修改为抽象类,防止错误直接实例化
  • feat: 重构代码生成器TemplateConfig配置,模板禁用与路径配置更改至对应具体实现之上
  • feat: 支持组合注解
  • feat: 新增 LambdaUpdateWrapper 字段自增 setIncrBy 自减 setDecrBy 方法
  • feat: 获取注入方法时传递org.apache.ibatis.session.Configuration
  • feat: 新增自增主键兼容配置开关(mybatis-plus.global-config.db-config.insert-ignore-auto-increment-column 默认false,开启INSERT语句无视主键字段生成)
  • feat: 新增参数填充器跳过方式(基于MappedStatement#id)
  • feat: 新增SQLite的DDL自动维护功
  • feat: 新增eqSql方法
  • feat: 新增SQL解析线程池
  • feat: 增加雪花ID生成器初始化日志打印(默认超过5秒打印警告日志)
  • feat: 升级mybatis至3.5.16
  • feat: 升级spring-cloud-commons
  • feat: 升级jsqlparser至4.9
  • test: Github增加CI
  • doc: 增加update(Wrapper)相关api无法自动填充注释

v3.5.5

24 Dec 14:38
Compare
Choose a tag to compare
  • fix: 修复配置databaseId失效
  • fix: 修复自增主键忽略注入错误忽略非自增主键注入问题
  • fix: 修复ChainWrapper模式下GroupBy生成多的逗
  • fix: 修复selectOne缓存问题
  • fix: 修复数据权限多表支持在某些场景下失效问题
  • fix: 修复生成器mysql类型转换器point转换错误
  • fix: 修复kotlin下无法使用父类属性操作
  • fix: 修复自动注入DdlApplicationRunner返回null导致的高版本springboot启动错误
  • fix: 修复生成器代码提示的RuntimeUtils安全性漏洞问题
  • feat: 新增fastjson2支持
  • feat: 升级gradle-wrapper至8.4
  • feat: 升级kotlin-gradle-plugin至1.9.21
  • feat: 升级mybatis至3.5.15
  • feat: 升级lombok至1.18.30
  • feat: 升级spring-boot3至3.2.0
  • feat: 升级spring-boot2版本mybatis-spring至2.1.2
  • feat: 升级spring-boot3版本mybatis-spring至3.0.3
  • feat: 移除通用service中saveOrUpdate的事务
  • feat: 支持Trino,Presto,GBase8s-pg,SUNDB数据库

v3.5.4.1

03 Nov 17:14
Compare
Choose a tag to compare
  • fix: 修复Aop增强Mapper层导致的转换错误.

v3.5.4

24 Oct 04:31
Compare
Choose a tag to compare
  • fix: 修复Insert无字段时执行SQL报错.
  • fix: 修复高版本JDK下lambda无法执行IDEA调试.
  • fix: 修复LambdaQuery中select,groupBy,orderBy,orderByAsc,orderByDesc提示的警告,新增对应doXxx方法支持重写(不兼容改动,api方法做了final处理).
  • fix: 修复inject-sql-session-on-mapper-scan无配置提示.
  • fix: 修复@OrderBy搭配@TableId排序字段错误(不兼容改动,com.baomidou.mybatisplus.core.metadata.TableInfo.orderByFields调整了类型).
  • fix: 修复Service中根据主键逻辑删除时类型不匹配导致的错误.
  • fix: 修复分页插件Count与自定义ResultHandler冲突.
  • fix: 修复字段填充处理器可能会出现重入问题
  • feat: 新增自增主键字段是否允许插入控制,可使用方法注入覆盖Insert(boolean ignoreAutoIncrementColumn)或Insert(String name, boolean ignoreAutoIncrementColumn)控制自增主键是否支持写入行为.
  • feat: ActiveRecord模式下deleteById(逻辑删除)方法支持自动填充功能.
  • feat: 内置泛型提取,支持非Spring体系项目使用.
  • feat: BaseMapper新增update(wrapper)更新方法.
  • feat: BaseMapper新增流式查询方法对大数据查询支持.
  • feat: 代码生成器元数据信息公开tableName与columnName字段访问.
  • feat: 新增mybatis-plus-spring-boot3-starter与mybatis-plus-spring-boot3-starter-test支持SpringBoot3.
  • feat: 支持插件缺省注入,当无MybatisPlusInterceptor注入时,支持com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor自动注入.
  • feat: 升级源码Jdk开发版本至Java21.
  • feat: 升级gradle-wrapper至8.4-rc-1.
  • feat: 升级kotlin-gradle-plugin至1.9.20-Beta.
  • feat: 升级SpringBoot2.x版本至2.7.15.
  • feat: 升级lombok至1.18.30.
  • opt: mybatis-plus-extension中mybatis-spring依赖修改为可选依赖(不兼容改动,如果项目在非spring或非springBoot下使用到了请手动添加依赖).
  • opt: spring-boot-starter减少无用的配置提示(不兼容改动,调整了com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties.configuration类型).
  • opt: 字段填充处理器提取去除固定参数提取,支持更宽松的mapper方法参数提取填充处理,
  • opt: 去除com.baomidou.mybatisplus.core.toolkit.ReflectionKit.setAccessible方法调用,防止高版本Jdk移除
  • opt: 调整selectOne方法(配合流式处理,最多提取两行数据,日志不再打印总记录数).
  • opt: 优化selectObjs方法返回值,减少类型强制转换.
  • opt: 通用Service支持多SqlSessionFactory注入.
  • opt: 优化TableInfo.newInstance创建实例方法.
  • opt: 去除多余的@SuppressWarnings("serial")

v3.5.3.2

09 Aug 02:21
Compare
Choose a tag to compare

feat: 升级mybatis至3.5.13,mybatis-spring至2.1.1

feat: jsqlparser提供统一解析类,可配置解析函数,并加入缓存选项

feat: 增加Sequence初始化debug日志

feat: 参数填充器支持多参数填充

feat: BaseMapper新增selectMaps(page, wrapper)与selectList(page, wrapper)方法

feat: 乐观锁字段支持 java.time.Instant

feat: wrapper#apply支持配置mapping比如column={0,javaType=int,jdbcType=NUMERIC,typeHandler=xxx.xxx.MyTypeHandler}

feat: 调整 QueryWrapper 需要主动开启检查 SQL 注入过滤(移除掉wrapper的orderby的sql过滤功能)

feat: 新增星瑞格数据库支持

feat: updateWrapper#setSql方法支持动态入参参考wrapper#apply方法

feat: 自动 SQL 维护 DDL 支持 SQL 执行存储过程

perf: ktWrapper加强泛型限制

fix: 修复在选择springdoc文档注释时entity描述异常

fix: 在主键的IdType为AUTO的情况下,Table#getAllInsertSqlColumnMaybeIf("xx.")所生成sql错误问题

fix: 租户插件支持update set subSelect的情况

fix: 修复高版本Jdk提示非法反射警告(Illegal reflective access by com.baomidou.mybatisplus.core.toolkit.SetAccessibleAction)

fix: 修复高版本Jdk插件动态代理反射错误 (Unable to make field protected java.lang.reflect.InvocationHandler java.lang.reflect.Proxy.h accessible)

fix: 修复路径替换将原有的“.”替换成了文件分隔符“/”

fix: 修复Beetl模板引擎无法生成注释

fix: 修复Types.DOUBLE类型无法映射

fix: 修复转换父类公共字段报错

fix: 修复生成器无法通过cfg.取值

fix: 修复单元测试下MockBean时事务回滚失败

fix: 修复Warpper类nonEmptyOfWhere方法命名不规范,导致Ognl未正确缓存带来的执行开销

fix: ClickHouseQuery类的tableComment()方法返回表注释字段为comment

fix: 修复在选择springdoc文档注释时entity描述异常问题

fix: Table#getAllInsertSqlColumnMaybeIf("xx.")下的sql生成错误问题

fix: Db类增加根据实体不为空的字段条件查询方法重载

fix: 生成器对于Kotlin的Entity文件的superEntityClass的错误

fix: 修复springdoc freemarker模式下 表注释取值取不到

opt: 增强参数填充处理器,防止因参数名称与填充名称一致类型不匹配导致转换错误

opt: 优化方法注入,去除SelectPage,SelectMapsPage,SelectByMap,DeleteByMap注入

opt: 减少MappedStatement堆内存占用

opt: 解决PluginUtils重复获取元数据带来的性能消耗

opt: 注入方法去除多余的换行符

opt: 去除SqlRunner持有的sqlSessionFactory变量

opt: 解决Sequence初始化多次问题(自定义情况下可不创建默认主键生成器)

opt: 优化 SqlHelper#getMapper 返回泛型

opt: 去除SqlRunner持有的sqlSessionFactory变量

docs: 修正DdlHelper注释错误

v3.5.3.1

06 Jan 05:56
Compare
Choose a tag to compare

紧急修改 lambdaQuery()...One() 实体不存在导致的 BUG

v3.5.3

28 Dec 09:47
Compare
Choose a tag to compare

多租户插件:多表join表名必需起别名,否则追加的过滤条件不带前缀
InterceptorIgnore 不能过滤 selectKey 的问题
分页新增informix数据库支持
分页新增优炫数据库支持
分页新增TDengine数据库支持
分页新增亚马逊redshift数据库支持
支持spring-boot 2.7以上版本
雪花id新增反解时间戳方法Sequence#parseIdTimestamp
BaseMapper.selectCount生成语句加入中AS total
修复IllegalSQLInnerInterceptor类ClassCastException异常,并优化日志
移除注解OrderBy的过时属性isDesc
移除TableInfo过时方法
加入JoinTableInfoInitHandler类参与TableInfo初始化
修复StringUtils.sqlInjectionReplaceBlank方法过滤sql不全,可能会导致sql注入的情况
增加IService.lambdaQuery(entity)支持,写法更便捷
新增数据变更记录(数据审计)插件DataChangeRecorderInnerInterceptor
新增查询条件方法 notLikeLeft 和 notLikeRight
数据权限多表解析部分处理优化
允许子类重写 orderBy 基础方法 gitee issues/I61F51
新增Db类,调整 SimpleQuery 类
新增脚本自动维护功能
新增支持手动拦截器忽略策略,例如 InterceptorIgnoreHelper.handle(IgnoreStrategy.builder().tenantLine(true).build());
支持 PG 数据字段大写 ID 自增 fixed issues/I4T0YJ
代码生成器重构完成,合并回 MP 核心代码库
代码生成器增加是否生成service接口的开关

v3.5.1

25 Feb 09:08
bc3bc7f
Compare
Choose a tag to compare

新增 impala 数据库支
缓存动态获取数据库类型

新增可控分配 id 方法 fixed github pull/4231
延迟枚举扫描注册
乐观锁插件支持根据wrapper填充 github pull/3664
H2KeyGenerator 语法修改
SimpleQuery 优化及Bug修改
fixed gitee issues/I4P9EN
SybaseDialect 关键词替换优化

v3.4.3

20 May 18:24
Compare
Choose a tag to compare

增加瀚高数据库支持
增加注解 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

15 Jan 06:10
Compare
Choose a tag to compare

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