🔥 新 ORM 崛起,一个非常好用的 ORM 框架 mybatis-mp
官网 :https://mybatis-mp.cn
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业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
xAI 发布 Grok-2 Beta 版
xAI 宣布推出 Grok-2 和 Grok-2 mini 的测试版,不过目前仅面向 X 上的 Premium 和 Premium+ 用户。 Grok-2 是 xAI 目前最先进的 AI 助手。相对而言,Grok-2 mini 则更侧重于在速度和答案质量之间的平衡。该公司表示,计划本月晚些时候通过其新的企业 API 平台向开发人员提供这两种模型。 “我们很高兴发布 Grok-2 的早期预览版,这是我们之前型号 Grok-1.5 的重大进步,具有聊天、编码和推理方面的先进功能。同时,我们推出了 Grok-2 mini,它是 Grok-2 的一款体型虽小但功能强大的兄弟产品。Grok-2 的早期版本已在 LMSYS 排行榜上以“sus-column-r”的名称进行了测试。在撰写本博文时,它的性能已经超过了 Claude 3.5 Sonnet 和 GPT-4-Turbo。” 公告称,与 Grok-1.5 模型相比,Grok-2 和 Grok-2 mini 在推理、阅读理解、数学、科学和编码方面均有显著改进。它们在研究生水平的科学知识(GPQA)、常识(MMLU、MMLU-Pro)和数学竞赛题...
- 下一篇
开源日报 | IP源地址伪造漏洞;Go 1.23发布;深圳加速迈向软件名城;别急着唱衰英特尔;AI硬件年中考
欢迎阅读 OSCHINA 编辑部出品的开源日报,每天更新一期。 # 2024.8.14 今日要闻 Go 1.23 正式发布 Go 编程语言开发团队今天凌晨正式发布 Go 1.23。 腾讯回应“被黑客窃取 14 亿用户数据” 针对网络上 “黑客声称窃取海量腾讯数据” 的相关信息,8 月 14 日,腾讯公关总监张军、“卡獭秦” 也发文称:黑客声称窃取海量腾讯数据是假的!不属实!放心!其实过去两年,类似的虚假信息被海外黑客多次反复炒作。谣言越来越离谱,数据口径也不断膨胀,出现过 7 亿、12 亿、14 亿等多个版本,还被恶意关联到国内多个互联网产品,除了鹅厂也有其他多个友商躺枪。莫信莫慌哈。 Visual Studio 2022 v17.11 发布 openKylin wlcom 正式开源 wlcom 是一款基于 wlroots 的 Wayland 合成器,以实现高性能、高安全、易维护为目标,具有渲染性能高、安全性高、生态兼容好、功能可灵活定制、第三方依赖少等技术特性。其基本架构如下图所示: 此次开源主要涉及外部插件接口库、功能框架接口库、输入管理插件、特效插件、窗口管理插件、图像渲染合成插...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6