Releases: baomidou/mybatis-plus
Releases · baomidou/mybatis-plus
v3.5.16
- fix: 修复
Jackson3TypeHandler自定义ObjectMapper无效 - fix: 处理代码生成器
PackageConfig指定模块为空时拼接错误 - fix: 修复配置加密无法在环境变量中使用
- feat: 升级
SpringBoot3至3.5.9 - feat: 升级
JUnit单元测试 - feat: 升级
fastjson至2.0.60 - feat: 升级
jackson至2.20.1 - feat: 升级
gson至2.13.2 - feat: 升级
postgresql至42.7.8 - feat: 升级
h2database至2.4.240 - feat: 升级
mysql-connector-j至9.5.0 - feat: 升级
sqlite-jdbc至3.51.1.0 - feat: 升级
jaybird至5.0.10.java8 - feat: 升级
mybatis-spring4.0.0
v3.5.15
- fix: 修复
Enjoy模板生成xml错误 - feat: 调整代码生成器元数据构建
- feat: 优化
CrudRepository批量执行前判断非事务中关闭连接 - feat: 支持
SpringBoot4.0.0 - feat: 支持
Jackson3.0
v3.5.14
- feat: 增加
bom对mybatis-plus-spring-boot4-starter与mybatis-plus-spring-boot4-starter-test管理
v3.5.13
- fix: 修复在
Spring中使用@PostConstruct调用Db方法查询出现警告日志 - fix: 修复
Db使用count返回null导致的空指针异常 - fix: 修复
BaseMapper在非Spring项目中报错 - feat: 升级
Jsqlparser5.2 - feat:
OrderItem增加withExpression根据表达式排序(注意:不支持序列化方式使用,自行控制sql注入) - feat:
OracleDdlGenerator支持指定schema模式运行 - feat: 适配华为云
GaussDb数据库 - feat: 雪花生成器初始化错误增加降级处理
- feat: 新增
spring-boot4支持 - feat: 升级
gradle8.13 - opt:
SqlUtils中replaceSqlPlaceholder方法增加缓存处理 - opt:优化
DDL执行记录表检查是否存在 - opt: 容器环境下
workerId获取优化
v3.5.12
- 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接口增加getBean与getProxyTargetObject方法 - opt:
CompatibleSet与CompatibleHelper调整至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
- fix: 修复代码生成器链式模型非
lombok下生成了@Accessors注解 - fix: 修复主键使用
UUID执行批量删除错 - fix: 修复
Kotlin使用select(predicate)方法错误 - fix: 修复
AbstractCaffeineJsqlParseCache异步产生的错误 - fix: 修复动态SQL解析包含SQL注释(--或#)导致的合并错误 (动态脚本语句不再处理换行,如果需要去除换行请自行处理)
- fix: 修复
DataChangeRecorderInnerInterceptor数据比较出现强转异常 - fix: 修复
IllegalSQLInnerInterceptor拦截插件获取catalog与schema错误 - 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: 去除
DdlHelper中getScriptRunner方法指定的字符集编码 - doc: 修正
DdlHelper中注释错误
由于jsqlParser5.0版本与5.1版本升级不兼容性不是很大,计划后期移除mybatis-plus-jsqlparser-5.0支持模块。
多版本支持相对来说比较麻烦,后期只维护mybatis-plus-jsqlparser-4.9 与 mybatis-plus-jsqlparser(保持最新版跟进,直到再提升jdk)
v3.5.10.1
- fix: 修复动态节点处理错误
v3.5.10
- 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
- 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
- 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数据库