您现在的位置是:首页 > 文章详情

2023 基于 mybatis 的 orm:mybatis-mp 1.2.6 发布 - 重磅升级!

日期:2023-12-20点击:74

mybatis-mp 包含丰富的 api:

1:基于注解,映射数据库;

2:支持多表 join 和返回;

3:api 采用 lambda 和 stream 流式设计;

4:内置分页以及超强的 sql 优化功能;

5:稳定且性能极优;

6:轻量级封装 mybatis,几乎没有侵入;

7:api 丰富,支持数据库函数、多表、乐观锁、多租户、逻辑删除、默认值(可动态值) 等众多功能;

8:零学习成本,和写 sql 一样方便。

9:支持复杂的返回关系映射:例如一对一 ,一对多,多对多;

10:内置代码生成器,通过配置,可定制自身规范;

11:全新的框架,全新的设计理念,新的就是好!

mybatis-mp 1.2.6 更新:

1:增加 and(动态条件) or(动态条件) 方法

 //Query中使用 Integer id = QueryChain.of(sysUserMapper) .select(SysUser::getId) .from(SysUser.class) .and(SysUser::getId, c -> c.concat("x1").eq("2x1")) .setReturnType(Integer.TYPE) .get(); //Where中使用 SysUser sysUser = sysUserMapper.get(where -> where.and(SysUser::getId, c -> c.concat("x1").eq("2x1"))); 

2:增加mapWithKey 多个方法,用于指定 key ,value的map查询

 //最强mapWithKey 完全自己构建 Map<Integer, SysRole> map = QueryChain.of(sysRoleMapper).mapWithKey(SysRole::getId); //根据where条件 Map<String, SysRole> map1 = sysRoleMapper.mapWithKey(SysRole::getName, where -> { where.gt(SysRole::getCreateTime, LocalDate.parse("2023-01-01").atStartOfDay()); }); //根据多个id Map<Integer, SysRole> map2 = sysRoleMapper.mapWithKey(SysRole::getId, 1, 2, 3); //根据List<id> Map<Integer, SysRole> map3 = sysRoleMapper.mapWithKey(SysRole::getId, Arrays.asList(1, 2, 3)); 

3:围绕Mybatis Mapper接口 底层优化!

更新说明:

1.2.6版本大大方便了对条件的构建;mapWithKey 方法也给不喜欢join的开发提高了多表遍历的遍历,所以历时一天,决定更新,让更多的人用上!

原文链接:https://www.oschina.net/news/271885/mybatis-mp-1-2-6-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章