Skip to content

Releases: baomidou/mybatis-plus

v3.5.12

27 Apr 15:35
Compare
Choose a tag to compare
  • fix: 修复批量操作异步执行首次可能的出现NoSuchElementException错误
  • fix: 修复默认SQL解析线程池在JVM退出关闭导致的任务拒绝
  • fix: 修复entity.java.btl生成toString方法样式错误
  • fix: 修复entity.java.ftl模板类注释与导包缺少换行
  • opt: 重构SqlRunner执行SQL语句 (动态传参,不再根据参数值生成执行SQL)
  • opt: 增强SqlRunner执行(支持单参数使用Map({key}),List({index}),JavaBean({property})获取值)
  • opt: 改进MybatisUtils对自SqlSessionFactory的提取(支持自定义SqlSessionTemplate子类)
  • opt: 自动识别数据库支持TDengine数据库websocket连接
  • opt: 支持Db工具类对多数据源的支持
  • opt: 优化MapperProxy属性访问
  • opt: CompatibleSet接口增加getBeangetProxyTargetObject方法
  • opt: CompatibleSetCompatibleHelper调整至com.baomidou.mybatisplus.core.spi包之中
  • opt: 支持手动指定CompatibleSet实现
  • opt: 代码生成器处理驱动返回索引信息null
  • opt: 代码生成器处理PRIMARY_KEY_为开头的主键索引情况
  • opt: 去除entity.kt.btl模板@Override注解
  • opt: 解决serviceImpl.java.ej生成格式不统一
  • opt: 去除mapper.java.ftl多余的换行生成
  • opt: 去除entity.kt.vm,entity.kt.ej,entity.kt.btl导包结束分隔符
  • opt: 去除controller.java.ej,controller.java.vm多余的换行
  • opt: 去除entity.kt.btl生成属性多余的空格
  • opt: 统一entity.java.btl,entity.java.ej,entity.java.ftl,entity.java.vm 生成的toString方法样式

v3.5.11

23 Mar 15:16
Compare
Choose a tag to compare
  • fix: 修复代码生成器链式模型非lombok下生成了@Accessors注解
  • fix: 修复主键使用UUID执行批量删除错
  • fix: 修复Kotlin使用select(predicate)方法错误
  • fix: 修复AbstractCaffeineJsqlParseCache异步产生的错误
  • fix: 修复动态SQL解析包含SQL注释(--或#)导致的合并错误 (动态脚本语句不再处理换行,如果需要去除换行请自行处理)
  • fix: 修复DataChangeRecorderInnerInterceptor数据比较出现强转异常
  • fix: 修复IllegalSQLInnerInterceptor拦截插件获取catalogschema错误
  • fix: 修复动态表解析create table if not exists 获取表名错误
  • fix: 修复动态表解析create [type] index 获取表名错误
  • feat: 新增DynamicTableNameJsqlParserInnerInterceptor 基于JsqlParser动态表处理
  • feat: 支持DdlScript自定义脚本运行器参数
  • feat: 支持DdlHelper自定义脚本运行器参数
  • feat: 支持DdlApplicationRunner参数配置(脚本错误处理,自定义ScriptRunner,多处理器执行异常是否中断)
  • feat: 支持BaseMultiTableInnerInterceptor指定追加条件模式 (默认条件追加至末尾,仅作用于select,delete,update)
  • feat: 支持生成器Entity指定serialVersionUID添加@Serial注解
  • feat: 支持生成器Entity注解(字段,类注解)自定义处理
  • feat: 支持生成器Entity导包自定义处理
  • feat: 支持崖山数据库
  • feat: 支持Hive2分页
  • feat: 升级Gradle至8.10
  • feat: 支持DdlHelper执行自定义异常处理
  • opt: 调整DynamicTableNameInnerInterceptor表处理逻辑并保证hook运行
  • opt: 调整DdlScript类方法实现(分离DDL版本记录,优化执行方法)
  • opt: 调整DbType#GAUSS数据库名为gauss
  • opt: 调整JsqlParserGlobal解析线程池指定
  • opt: 移除过时的FieldStrategy.IGNORED
  • opt: 移除过时的GlobalConfig.DbConfig#selectStrategy
  • opt: 移除过时的MybatisSqlSessionFactoryBean#typeEnumsPackage
  • opt: 优化DdlHelper资源加载(不再依赖Spring或者其他实现)
  • opt: 去除DdlHelpergetScriptRunner方法指定的字符集编码
  • doc: 修正DdlHelper中注释错误

由于jsqlParser5.0版本与5.1版本升级不兼容性不是很大,计划后期移除mybatis-plus-jsqlparser-5.0支持模块。
多版本支持相对来说比较麻烦,后期只维护mybatis-plus-jsqlparser-4.9mybatis-plus-jsqlparser(保持最新版跟进,直到再提升jdk)

v3.5.10.1

13 Jan 15:06
Compare
Choose a tag to compare
  • fix: 修复动态节点处理错误

v3.5.10

12 Jan 13:28
Compare
Choose a tag to compare
  • fix: 修复字段有TableField注解但未指定value值下全局columnFormat未生效问题
  • fix: 修复enjoy模板生成kotlin代码报错
  • fix: 修复enjoy模板生成字符串代码报错
  • fix: 修复springdoc生成注解未转义双引号
  • fix: 修复数据变动插件更新无主键报错
  • fix: 修复多表解析processJoins解析表出现越界
  • feat: TableName注解新增properties属性
  • feat: 支持@InterceptorIgnore注解在default方法上
  • feat: 适配jsqlparser5.1版本(5.0兼容版本请使用mybatis-plus-jsqlparser-5.0)
  • feat: 提供InterceptorIgnoreHelper.execute模板执行方法处理插件跳过策略(防止手动使用handle方法出现未清理线程资源造成的错误)
  • feat: 代码生成器全局package配置属性支持自定义模板信息获取
  • feat: 代码生成器新增表索引信息获取
  • feat: 代码生成器提供Mapper.Builder.generateMapperMethodHandler处理器基于索引生成索引方法
  • feat: 代码生成器Entity支持自定义Class注解和字段注解生成
  • feat: 代码生成器Entity支持lombok模式指定生成类注解
  • feat: 代码生成器Entity支持ToString(Entity.Builder.toString(boolean))方法控制生成 (默认生成,lombok模式下将会生成@ToString,低版本下lombok不生成,属于不兼容改动)
  • feat: 代码生成器Entity支持字段文档注释(Entity.Builder.fieldUseJavaDoc(boolean))控制生成 (默认生成,低版本下,使用swagger或springdoc不会生成字段文档注释,属于不兼容改动)
  • feat: 重写动态语句生成(生成执行SQL将不再包含\n换行符)
  • feat: 安全加密处理器密钥获取支持环境变量与系统属性传入
  • feat: 升级mybatis至3.5.19
  • feat: 升级springboot至3.4.1
  • feat: 升级kotlin至2.1.0
  • 实用性低,检查语法不完善,计划移除IllegalSQLInnerInterceptor插件
  • 功能缺陷较多,计划移除DataChangeRecorderInnerInterceptor插件

v3.5.9

23 Oct 15:08
Compare
Choose a tag to compare
  • opt: 优化代码生成器支持可视化配置生成能力
  • opt: 解耦扩展包不再强制依赖 spring 开发框架
  • opt: 拆分jsqlparser支持模块,提供mybatis-plus-jsqlparser(支持最新jsqlparser)与mybatis-plus-jsqlparser-4.9模块, 默认不携带,升级后需要自行引入.
  • feat: 重构 service 模块抽象为 CrudRepository 不再建议使用 IService 避免业务层数据混乱
  • feat: 新增 solon 启动插件支持
  • feat: 升级SpringBoot3.3.4
  • feat: 升级velocity2.4

v3.5.8

18 Sep 14:31
Compare
Choose a tag to compare
  • fix: 解决optimizeJoinOfCountSql反序列化不支持问题
  • fix: 解决Db工具类批量操作使用rewriteBatchedStatements=true返回值不准确
  • fix: 修复逻辑删除填充与乐观锁冲突
  • fix: 修复IllegalSQLInnerInterceptor分析嵌套count语句错误
  • fix: 升级jsqlParser5.0 解决 for update 语句错误
  • fix: 修复处自增自减负数情况导致jsqlParser解析优化错误
  • fix: 修复removeMapper缓存清理不完全
  • fix: 修复SqlServerQuery查询表注释乱码
  • opt: 完善函数注入校验逻辑
  • opt: Page属性访问调整为private,重写toString方法
  • opt: 主键生成策略(uuid)不支持的类型打印警告日志
  • opt: MybatisPlusException转化为PersistenceException子类
  • feat: 增加deleteByIds空集合处理
  • feat: 重命名selectBatchIds方法为selectByIds
  • feat: 支持tableName与schema属性占位符配
  • feat: 代码生成器增加对虚拟列的属性获取
  • feat: chain wrapper to lambda chain wrapper #6314
  • feat: 代码生成器增加手动指定数据库驱动兼容不能自动注册的驱动实现
  • feat: 升级kotlin2.0.0
  • feat: 升级SpringBoot3.3.2
  • feat: 升级fastjson2.0.52
  • feat: 升级mybatis-spring3.0.4
  • feat: 升级spring-cloud-commons4.1.4
  • feat: 部分支持依赖升级更新
  • feat: 支持GoldenDB数据库
  • feat: 支持Duckdb数据库
  • feat: 支持Derby数据库
  • feat: 支持Vastbase数据库

v3.5.7

10 Jun 15:19
Compare
Choose a tag to compare
  • fix: 修复动态表名处理 update ignore 错误
  • fix: 修复SQLServer2005分页处理空格错误
  • fix: 修复多租户查询出现问题
  • fix: 修正非通用泛型情况下序列化json减少强转
  • fix: 修复代码生成器禁用模板失效
  • fix: 修复分页count优化distinct搭配orderBy处理错误
  • fix: 修复达梦数据库生成代码错误
  • fix: 修复租户插件特殊exists语句会失效
  • fix: 修复sqlite数据库ddl_history错误导致无法创建表
  • fix: 修复DataChangeRecorderInnerInterceptor在Insert时配置忽略无效
  • fix: 修复代码生成器处理不标准的JdbcType导致空指针错误
  • feat: BaseMapper新增批量操作与InsertOrUpdate方法
  • feat: BaseMapper新增批量操作方法返回值List
  • feat: BaseMapper方法逻辑删除默认支持填充
  • feat: 调整Service层逻辑删除填充逻辑处理
  • feat: 重构批量删除参数填充处理逻辑.
  • feat: 自增自减处理BigDecimal
  • feat: 新增雪花ID配置(支持手动分配workerId与datacenterId或指定网卡信息自动获取方式)
  • feat: 重构ServiceImpl泛型参数提取
  • feat: 修改AES密钥随机性生成
  • feat: UpdateWrapper增加checkSqlInjection方法
  • feat: 调整DDL脚本自动装配逻辑(当无实现时或无mybatis-plus-extension模块时不注入DDL运行bean)
  • feat: 注入方法deleteBatchIds重命名deleteByIds
  • feat: SpringBoot升级至2.7.18和3.2.6
  • feat: 升级kotlin至1.9.24
  • feat: 升级lombok至1.18.32

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层导致的转换错误.