mybatis-mapper 2.2.2 发布
官方文档 https://mapper.mybatis.io/ 新增加了 2.x 版本的新文档,快速上手、接口介绍、注解配置更新了大量最新内容,欢迎查阅。
功能增强
- Provider 升级: 将 provider 升级至 2.2.4 版本。
- 项目结构调整:
Fn
,Reflections
和测试FnTest
移动到了 mybatis-provider 项目,包名保持不变。 - 注解增强:
- JPA 新增支持
@Entity
注解,配置该注解相当于开启默认注解中的autoResultMap=true
,配合@Convert
注解使用时可以对查询结果进行转换。 - JPA 新增支持
@Convert
注解,用于类型转换,可以将查询结果转换为指定类型,需要指定 MyBatis TypeHandler 子类。默认可以用于参数中,想让查询结果列生效时需要配合@Entity
注解开启autoResultMap=true
。 - JPA 支持: 支持 JPA
@Table
注解的catalog
和schema
属性。
- JPA 新增支持
- SQL 生成: 通过 LogicalMapper 生成的 SQL 现在包含 schema 信息。
- JPA 注解兼容性: jakarta-jpa 复制了 jpa 的改动,功能相同,但注解包名不同。
性能优化
- 内存管理: 解决了 Fn 缓存内存溢出的问题,修复了 issue #108。
- 依赖管理: 移除了无用的
javax.persistence-api
依赖。
兼容性改进
测试与质量保证
- 测试用例修复: 修复了测试用例
testExampleUseCondition
。 - 测试代码完善: 增加了
createCriteriaSelective
方式创建 Criteria,GeneratedCriteria
类增加了useCondition
方法。
贡献者
- liuzh
- aunix*
- 曹赛军
Example 新增变化介绍
所有方法增加了一个带 boolean useCondition
参数的方法,示例如下:
@Test public void testExampleUseCondition() { try (SqlSession sqlSession = getSqlSession()) { ExampleMapper<User, Example<User>> exampleMapper = sqlSession.getMapper(UserMapper.class); Example<User> example = new Example<>(); User user = new User(); user.setUserName("殷%"); example.createCriteria() .andNotEqualTo(Objects.nonNull(user.getId()), User::getId, user.getId()) .andLike(Utils.isNotBlank(user.getUserName()), User::getUserName, user.getUserName()) .andEqualTo(Utils.isNotBlank(user.getSex()), User::getSex, user.getSex()); Assert.assertEquals(5, exampleMapper.countByExample(example)); } }
还有一个 createCriteriaSelective
方法,默认会校验值是否为空,如果空就不使用条件:
@Test public void testExampleUseSelective() { try (SqlSession sqlSession = getSqlSession()) { ExampleMapper<User, Example<User>> exampleMapper = sqlSession.getMapper(UserMapper.class); Example<User> example = new Example<>(); User user = new User(); user.setUserName("殷%"); user.setSex("女"); example.createCriteriaSelective() .andLike(User::getUserName, user.getUserName()) .andEqualTo(User::getId, user.getId()) .andNotEqualTo(User::getSex, user.getSex()); Assert.assertEquals(3, exampleMapper.countByExample(example)); } }

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
智能制造 v3.13.8 发布
智能制造一体化管理系统[SpringBoot2 - 快速开发平台],适用于制造业、建筑业、汽车行业、互联网、教育、政府机关等机构的管理。包含文件在线操作、工作日志、多班次考勤、CRM、ERP 进销存、项目管理、EHR、拖拽式生成问卷、日程、笔记、工作计划、行政办公、薪资模块、动态表单、知识库、公告模块、企业论坛、云售后模块、生产模块、系统模块化同步模块等多种复杂业务功能。 智能制造 v3.13.8 发布,重构内容如下: 在线课堂 1.学习资料的资料 2.修改弹出层 3.删除星星卡 4.成员的折叠面板 5.学情分析 6.搜索筛选 7.课程拖拽组件 8.修改成员页面高度,悬浮按钮统一样式 9.帖子评论数量变化 10.多个悬浮按钮的跳转页面 11.navBar右侧文字 12.学生认证 商城 1. 门店管理 2. 门店人员分配 3. 修改pc端门店信息设定代码 4. 新增手机端门店信息设定功能 5. 完成pc端和手机端区域套餐管理功能的增、删、改 工作流 1. 修改PC端前后加签对选择相同人进行判断 2. 修改手机端已办事宜列表 3. PC端待办事宜列表、已办事宜列表、我的请求列表代码重构 自...
- 下一篇
夜莺监控 v7.beta4 发版,仪表盘变量和业务组下的机器联动
这个版本最大的改动,就是仪表盘变量和业务组下的机器联动。大家可以导入这个大盘做测试: https://github.com/ccfos/nightingale/blob/main/integrations/Linux/dashboards/host_generic_categraf.json 这是查看机器常用监控指标的大盘,可以把这个大盘导入不同的业务组,查看A业务组下的这个大盘,就只会看到A业务组下的机器,查看B业务组下的这个大盘,就只会看到B业务组下的机器,这就方便多了。 这个功能社区心心念念比较久了,快来升级尝鲜吧:)另外 v7.beta4 的其他改动如下 feat: 仪表盘支持跨业务组克隆 feat: LDAP 登录,支持根据 Role Mapping 配置,自动设置人员的角色和所属团队 feat: 人员管理添加所属团队、业务组展示,并提供快捷跳转到对应的团队和业务组管理页面 refactor: 索引模式页面优化,增加搜索框,数据源和名称添加排序 refactor: 团队管理的团队详情显示 ID refactor: 仪表盘和人员管理表格页面优化,支持自定义展示列 下载以及升级方...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 2048小游戏-低调大师作品
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G