mybatis-mp 高级用法:ORM+SQL 模板,真正意义实现 ORM!!!
目前ORM 以JPA PLUS为首的ORM,遇到稍微复杂的、或者数据库特性 函数时通常需要 自己写sql ,或代码中,或xml中,这就有点难受了
1:有没有好的办法?
mybatis-mp的做法 就是 ORM+SQL模板,SQL模板不仅仅是sql字符串,它还帮你替换关系的信息:列
SysUserRoleAutoSelectVo vo = QueryChain.of(sysUserMapper) .select(SysUserRoleAutoSelectVo.class) .selectWithFun(SysRole::getId, c -> CmdTemplate.create(" RANK() OVER( ORDER BY {0}) ", c).as("RANK2")) .selectWithFun(SysRole::getId, c -> CmdTemplate.create(" RANK() OVER( ORDER BY {0}) as RANK3", c)) .from(SysUser.class) .join(SysUser.class, SysRole.class) .and(cs -> ConditionTemplate.create("{0}+{1}={2}", cs[0], cs[1], 2).as("xx2"), SysUser::getId, SysUser::getId) .returnType(SysUserRoleAutoSelectVo.class) .orderBy(SysUser::getId) .limit(1) .get();
以上代码中,我们利用到了数据库窗口函数以及自定义的一个where 条件(只是示例,不考虑具体逻辑)
mybatis-mp 是真的做到了真正的ORM,并给开发自由度;可实现很多很多复杂的场景;解决了ORM框架的痛点,再难的sql 在这里都不是太大的问题;
你还能找到其他的ORM框架有这灵活度的功能吗?评论区见

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
CudaText 1.215.0 发布,跨平台的文本编辑器
CudaText 是一个跨平台的文本编辑器,用 Object Pascal 编写。它是开源项目,启动速度相当快,它可以通过 Python 插件进行扩展,借助 EControl 引擎还带来了功能丰富的语法分析器。 CudaText 1.215.0 正式发布,更新内容如下: 添加:选项“renreder_tweaks”增加了在右边缘绘制换行标记的标志 添加:选项“unprinted_content”增加了一个标志,用于显示换行的行尾标记,就像在 Visual Studio 和 Textadept 中那样 添加:改进鼠标列选择时的美观性:a)如果“caret_after_end”:false,则将 carets 限制在行尾;b)绘制选择矩形 添加:可以通过新选项“find_show_on_start”在启动时显示查找对话框 修复:一些撤消步骤可能会在撤消/重做之后合并,但它们不能合并 修复:1.211 中的回归:批量替换破坏语法高亮 修复:修复一些塞尔维亚语字符的宽度 修复:在 _floating_ group 中编辑时,自动完成列表框可以出现在主窗口中 更多详情可查看:https://cu...
- 下一篇
可以把 FolkMQ 内嵌到 SpringBoot3 项目里(可内嵌的消息中间件,纯血国产)
之前发了《把 FolkMQ 内嵌到 SpringBoot2 项目里(比如 “诺依” 啊)》。有人说都淘态了,有什么好内嵌的。。。所以再发个 SpringBoot3 FolkMQ 是一个 “纯血国产” 的消息中间件。支持内嵌、单机、集群、多重集群等多种部署方式。 内嵌版,就相当于 H2 或 SQLite 数据库一样。给一些小项目(或者特别需求)带来了方便。 大项目,则可以使用独立部署的 “单机版” 或 “集群版” 内嵌个消息中间件,体积会不会太大啦?!!不会,才7Mb。好小的! 1、了解 FolkMQ 内嵌版 FolkMQ 内嵌版(带 Web 控制台界面的),体积增加 7Mb,就可以附加完整消息中间件的能力喽。比如你在用 “诺依” 开发个小项目,需要消息中间件,但是又不想独立部署。这就很适合呢! 内嵌版与单机板,功能一模一样 控制台界面是基于Solon 框架开发的,非常小巧。(可以用宿主项目的端口,也可以独立端口) 可以内嵌到jFinal,Solon,SpringBoot2,SpringBoot3,Vert.X等框架里 说起来 Solon 真是中间件的控制台良配,又小又强又可以内嵌。太爱...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 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的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7