🔥MybatisPlus 发布 3.5.17 支持 GraaLVM Native Image

Mybatis-Plus 是一款 MyBatis 的增强工具包,简化 CRUD 操作。启动加载 XML 配置时注入单表 SQL 操作,为简化开发工作、提高生产率而生。Mybatis-Plus 启动注入动态 SQL 脚本、性能更优,让你专注业务快速敏捷开发。
- [演示例子](https://gitee.com/baomidou/mybatis-plus-samples)
- [官方文档](https://baomidou.com/)
### 注意!
变化部分功能介绍:
一,新增支持 GraaLVM Native Image 构建原生可执行文件
GraalVM 是一个高性能的运行时环境,它不仅支持 Java,还兼容 JavaScript、Python 等多种语言。其中,Native Image 是其核心组件之一,它利用即时编译(AOT)技术,在应用程序部署前将其及其依赖转换为机器码,从而消除 JVM 的启动时间和内存开销。MybatisPlus 在当前版本引入一个新的模块 mybatis-plus-spring-boot-native-image 解决 AOT 编译问题,需要支持 Native 编译必须要引入该依赖。
案例 [链接](https://gitee.com/baomidou/mybatis-plus-native-image-demo)
二,新增相关优化
1. 默认 SQL 注入器及相关涉及 String.format 语句拼装修改为函数式处理或直接字符串拼接,提升组装 SQL 性能等
2. 枚举处理及 Lambda 元数据解析引入缓存提升动态处理性能等
3. Lambda Wrapper 新增 `eqOrIsNull` 方法,自动识别 `typeHandler` 类型处理器并支持在 Groovy Kotlin 语言中使用能力等
4. 逻辑删除新增支持 i18n 日期并支持了更新填充非逻辑删除的其它属性
5. BaseMapper 引入 selectWithCursor 游标查询方法,优化 selectOne 性能即使错误的条件框架底仓兜底不在多查一条记录
6. 注入元数据 TableInfo 及生成器逆向表的元数据,新增扩展能力允许用户自定义修改属性。
三,升级事项【注意】
为了解决 JDK 9 + 模块化编译 mybatis-plus-spring 包名冲突问题(早期分包支持 solon 国产 java web 开发框架引入的历史问题),目录 com.baomidou.mybatisplus.extension 包名修改为 com.baomidou.mybatisplus.spring 相关低版本升级需要调整重新导入新的包路径。
**升级日志**
- fix: 修复 `issues/6899` 多租户插件 `@Many` 注解查无效问题
- fix: 修复 `issues/6938` `HashMap` 设置类型转换器异常
- fix: 修复 `issues/7081` 解决拦截全表存在 `schema` 校验问题
- fix: 修复 `issues/6905` 关于 `saveOrUpdateBatch` 导致 `ParameterHandler` 被重复执行问题
- fix: 修复 `issues/7056` 支持 `GraalVM Native` 二进制编译问题
- fix: 修复 `issues/7027` 支持 `JDK 9+` 模块化包重名问题,注意 `mybatis-plus-spring` 模块下文件包名调整
- feat: 新增 `wrapper` 支持 `xml` 别名配置
- feat: 新增 `mybatis-plus-spring-boot-native-image` 模块支持 `graalvm` 编译能力
- feat: 新增 `Wrapper` 支持自动识别 `typeHandler` 类型处理器
- feat: 新增 `Wrapper` 对比 `eqOrIsNull` 方法
- feat: 新增 `i18n` 逻辑删除日期格式及自动更新填充能力
- feat: 新增 `Groovy` 支持 `LambdaQueryWrapper` 执行能力
- feat: 新增 `Kotlin` 支持 `LambdaQueryWrapper` 执行能力
- feat: 新增 `MybatisEnumTypeHandler` 枚举类型处理器支持缓存处理机制
- feat: 新增 `ITableFieldMetaInfoCustomizer` 代码生成器扩展属性元数据处理能力
- opt: 优化 `Sequence` 减少增加上下文切换
- opt: 优化 `LambdaQueryWrapper.sqlSelect` 属性修改为 `protected`
- opt: 优化 `sql` 注入性能调整为函数方式拼接减少字符串 `format` 使用
- opt: 优化 `Cursor` 游标查询一条记录能力
- opt: 优化 `format` 部分修改为字符串组合
- opt: 优化 `executeBatch` 根据执行影响行数返回确定结果布尔值
- opt: 优化 `TableInfo` 扩展允许返回新的自定义实例对象
- opt: 优化 `IJsonTypeHandler` 处理逻辑
---
原文链接:[点击查看](https://www.oschina.net/news/471579/mybatisplus-3-5-17-released)
Mybatis-Plus 是一款 MyBatis 的增强工具包,简化 CRUD 操作。启动加载 XML 配置时注入单表 SQL 操作,为简化开发工作、提高生产率而生。Mybatis-Plus 启动注入动态 SQL 脚本、性能更优,让你专注业务快速敏捷开发。
- [演示例子](https://gitee.com/baomidou/mybatis-plus-samples)
- [官方文档](https://baomidou.com/)
### 注意!
变化部分功能介绍:
一,新增支持 GraaLVM Native Image 构建原生可执行文件
GraalVM 是一个高性能的运行时环境,它不仅支持 Java,还兼容 JavaScript、Python 等多种语言。其中,Native Image 是其核心组件之一,它利用即时编译(AOT)技术,在应用程序部署前将其及其依赖转换为机器码,从而消除 JVM 的启动时间和内存开销。MybatisPlus 在当前版本引入一个新的模块 mybatis-plus-spring-boot-native-image 解决 AOT 编译问题,需要支持 Native 编译必须要引入该依赖。
案例 [链接](https://gitee.com/baomidou/mybatis-plus-native-image-demo)
二,新增相关优化
1. 默认 SQL 注入器及相关涉及 String.format 语句拼装修改为函数式处理或直接字符串拼接,提升组装 SQL 性能等
2. 枚举处理及 Lambda 元数据解析引入缓存提升动态处理性能等
3. Lambda Wrapper 新增 `eqOrIsNull` 方法,自动识别 `typeHandler` 类型处理器并支持在 Groovy Kotlin 语言中使用能力等
4. 逻辑删除新增支持 i18n 日期并支持了更新填充非逻辑删除的其它属性
5. BaseMapper 引入 selectWithCursor 游标查询方法,优化 selectOne 性能即使错误的条件框架底仓兜底不在多查一条记录
6. 注入元数据 TableInfo 及生成器逆向表的元数据,新增扩展能力允许用户自定义修改属性。
三,升级事项【注意】
为了解决 JDK 9 + 模块化编译 mybatis-plus-spring 包名冲突问题(早期分包支持 solon 国产 java web 开发框架引入的历史问题),目录 com.baomidou.mybatisplus.extension 包名修改为 com.baomidou.mybatisplus.spring 相关低版本升级需要调整重新导入新的包路径。
**升级日志**
- fix: 修复 `issues/6899` 多租户插件 `@Many` 注解查无效问题
- fix: 修复 `issues/6938` `HashMap` 设置类型转换器异常
- fix: 修复 `issues/7081` 解决拦截全表存在 `schema` 校验问题
- fix: 修复 `issues/6905` 关于 `saveOrUpdateBatch` 导致 `ParameterHandler` 被重复执行问题
- fix: 修复 `issues/7056` 支持 `GraalVM Native` 二进制编译问题
- fix: 修复 `issues/7027` 支持 `JDK 9+` 模块化包重名问题,注意 `mybatis-plus-spring` 模块下文件包名调整
- feat: 新增 `wrapper` 支持 `xml` 别名配置
- feat: 新增 `mybatis-plus-spring-boot-native-image` 模块支持 `graalvm` 编译能力
- feat: 新增 `Wrapper` 支持自动识别 `typeHandler` 类型处理器
- feat: 新增 `Wrapper` 对比 `eqOrIsNull` 方法
- feat: 新增 `i18n` 逻辑删除日期格式及自动更新填充能力
- feat: 新增 `Groovy` 支持 `LambdaQueryWrapper` 执行能力
- feat: 新增 `Kotlin` 支持 `LambdaQueryWrapper` 执行能力
- feat: 新增 `MybatisEnumTypeHandler` 枚举类型处理器支持缓存处理机制
- feat: 新增 `ITableFieldMetaInfoCustomizer` 代码生成器扩展属性元数据处理能力
- opt: 优化 `Sequence` 减少增加上下文切换
- opt: 优化 `LambdaQueryWrapper.sqlSelect` 属性修改为 `protected`
- opt: 优化 `sql` 注入性能调整为函数方式拼接减少字符串 `format` 使用
- opt: 优化 `Cursor` 游标查询一条记录能力
- opt: 优化 `format` 部分修改为字符串组合
- opt: 优化 `executeBatch` 根据执行影响行数返回确定结果布尔值
- opt: 优化 `TableInfo` 扩展允许返回新的自定义实例对象
- opt: 优化 `IJsonTypeHandler` 处理逻辑
---
原文链接:[点击查看](https://www.oschina.net/news/471579/mybatisplus-3-5-17-released)
评论
暂无评论。