🔥一款超级强大的 ORM 框架 mybatis-mp 1.6.7 正式发布
官网 :https://mybatis-mp.cn
更新:
- 1: 优化代码生成器
- 2:增强Fetch注解(实现可动态select)
- 3:优化底层代码
- 4:修复多个不同数据库无法识别db类型的问题
- 5:修复insert select 在ORACLE环境异常问题
- 6: InsertChain增加新insert select方法
为什么推荐 mybatis-mp ?:
mybatis-mp 是一款超级强大的 ORM 框架
1:可多表 join(不再只能单表了)
2:良好 resultMap 结果映射能力(不怕映射错误了)
3:良好的扩展能力:orm+sql 模板 (让 ORM 框架不再死板,扩展性极强)
4:就算 xml 也不用再增加什么插件了,自带 xml 分页
5:强大的各种数据库适配,可在一套代码中 实现多个数据库适配;真正的 ORM hibernate 都做不到
6:极简的 api 设计,让开发者 不再迷糊
7:还很多很多独特优良的设计,只有前往体验,才能感受了;不相信可以试试!!!
1. 单表 +@Fetch 注解 + fetchFilter 方法
@Data @ResultEntity(SysUser.class) public class SysUserVo { private Integer id; private String userName; private String password; private Integer roleId; private LocalDateTime create_time; @Fetch(source = SysUser.class, property = "roleId", target = SysRole.class, targetProperty = "id") private List<SysRoleVo> sysRoles; }
List<SysUserVO> list = QueryChain.of(sysUserMapper) .from(SysUser.class) .fetchFilter(SysUserVO::getRoles,where->where.eq(SysRole::getStatus,1)) .returnType(SysUserVO.class) .list();
fetchFilter 方法是对 @Fetch 注解的增强,没有特殊要求一般,可忽略
2. 单表查询
SysUser sysUser = QueryChain.of(sysUserMapper) .eq(SysUser::getId, 1) .eq(SysUser::getUserName,'admin') .get();
3.VO 映射
@Data @ResultEntity(SysUser.class) public class SysUserVo { private Integer id; private String userName; //字段名字不一样时 @ResultEntityField(property = "password") private String pwd; }
SysUserVO sysUserVO = QueryChain.of(sysUserMapper) .eq(SysUser::getId, 1) .eq(SysUser::getUserName,'admin') .returnType(SysUserVO.class) .list();
4. join 查询
@Data @ResultEntity(SysUser.class) public class SysUserVo { private Integer id; private String userName; //字段名字不一样时 @ResultEntityField(property = "password") private String pwd; //映射一个对象 1对1 @NestedResultEntity(target = SysRole.class) prviate SysRole sysRole; //映射多个对象 1对多 @NestedResultEntity(target = SysRole.class) prviate List<SysRole> sysRoles; }
List<SysUserRoleVO> list = QueryChain.of(sysUserMapper) .from(SysUser.class) .join(SysUser.class, SysRole.class) .returnType(SysUserRoleVO.class) .list();
还有很多很多超级方便有趣的写法,欢迎大家来使用 https://mybatis-mp.cn
例如:
1 . 多表 join A 内嵌 B B 内嵌 C 都可以
2 . 不使用 join 使用 @Fetch 注解 + fetchFilter 方法实现 将 A JOIN B 变成 query A + query B
3 . 使用 @Paging 注解 实现你的 xml 自动分页
4 . 使用 SQL 模板,让你 ORM 更简单更容易扩展,再也不怕被框架限制了

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
诚邀参与:CloudWeGo 技术沙龙 · 暨三周年庆典9月北京开幕
活动概述 CloudWeGo 开源项目自诞生以来已近三年。在这三年间,核心项目的 Star 数达到 28k,在五十余家企业用户中落地,社区贡献者超 400 人。为了更好地激发开发者的活力,增强社区凝聚力,推动意向企业用户落地,并吸引更多企业关注和使用 CloudWeGo,我们计划于 2024 年 9 月21日在北京举办 CloudWeGo 技术沙龙暨三周年庆典活动。 本次三周年庆典活动,字节跳动基础架构负责人赵鹏伟将现场参会并致辞。此外,还有多位来自CloudWeGo社区的项目负责人和Maintainer将担任讲师,回顾 Kitex/Hertz 近一年来的重要特性,介绍一站式 Go 研发工具cwgo的介绍,分享LLM 原生代码解决方案ABCoder,介绍如何借助 LLVM 强大的优化能力来实现一个全新的编译器来生成性能更好的代码方案ROG,以及 CloudWeGo 生态发展和社区增长阐述等多方面内容。值得期待的是,表彰为社区做出突出贡献的开发者,活动中还将举行 CloudWeGo 年度贡献者颁奖典礼,快来报名参加! 活动主页& 报名链接 活动日程 演讲内容 《Kitex/H...
- 下一篇
Visual Studio Code 1.93 发布
欢迎各位水友前往 OSCHINA 公众号(ID:oschina2013)留言评论 有机会获得 OSC 定制的周边礼物 【请打开微信扫码识别】 Visual Studio Code 1.93 已发布,具体更新内容如下: Profiles editor- 从一个地方切换和管理你的配置文件。 新的 Profiles 编辑器现在可在 Visual Studio Code 中全面使用。此体验包括创建新配置文件、编辑和删除现有配置文件以及导入和导出配置文件以与他人共享。有关更多信息,可参阅 Profiles文档。 Django 单元测试支持- 从 Test Explorer 发现并运行 Django 单元测试。 vscode.dev 上的 IntelliSense- 使用 IntelliSense 提升 vscode.dev 中的 JS 和 TS 编码效率。 Chrome、Microsoft Edge 和 Firefox 支持 Package typings 和完整的project IntelliSense。Safari 尚不受支持,因为它未实现ReadableByteStreamControll...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启