mybatis-mp - 亮点四:可自定义sql
大部分情况下,框架都可以满足98%的需求,那剩下2%怎么办?
mybatis-mp作者:Ai东 已经替你们考虑,并设计了3个模板类供大家使用
1:普通sql模板-> CmdTemplate
2:函数模板-> FunTemplate
3:条件模板-> ConditionTemplate
如何使用?
1.只需要1列的情况:
1.1 普通模板
QueryChain queryChain = QueryChain.of(sysUserMapper); queryChain.selectWithFun(SysUser::getRole_id, c -> CmdTemplate.create("count({0})+{1}", c, "1")); queryChain.from(SysUser.class); queryChain.and(cs -> ConditionTemplate.create("{0}+{1}={2}", cs[0], cs[1], 2), SysUser::getId, SysUser::getId); queryChain.setReturnType(String.class); String str = queryChain.get();
1.2 函数模板操作后 还可以继续调用框架自带的方法
QueryChain queryChain = QueryChain.of(sysUserMapper); queryChain.selectWithFun(SysUser::getRole_id, c -> FunTemplate.create("count({0})",c).plus(1).concat(1,"2",3).length()); queryChain.from(SysUser.class); queryChain.and(cs -> ConditionTemplate.create("{0}+{1}={2}", cs[0], cs[1], 2), SysUser::getId, SysUser::getId); queryChain.setReturnType(String.class); String str = queryChain.get();
1.3 条件模板
QueryChain queryChain = QueryChain.of(sysUserMapper); queryChain.selectWithFun(SysUser::getRole_id, c -> FunTemplate.create("count({0})",c).plus(1).concat(1,"2",3).length()); queryChain.from(SysUser.class); queryChain.and(cs -> ConditionTemplate.create("{0}+{1}={2}", cs[0], cs[1], 2), SysUser::getId, SysUser::getId); queryChain.setReturnType(String.class); String str = queryChain.get();
- 需要多个列的情况
QueryChain queryChain = QueryChain.of(sysUserMapper); queryChain.selectWithFun(SysUser::getRole_id, c -> FunTemplate.create("count({0})",c).plus(1).concat(1,"2",3).length()); queryChain.from(SysUser.class); queryChain.and(cs -> ConditionTemplate.create("{0}+{1}={2}", cs[0], cs[1], 2), SysUser::getId, SysUser::getId); queryChain.setReturnType(String.class); String str = queryChain.get();
主要是这行代码:queryChain.and(cs -> ConditionTemplate.create("{0}+{1}={2}", cs[0], cs[1], 2), SysUser::getId, SysUser::getId);
咋样,赶紧加入mybatis-mp使用的行列吧!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
美国 13 岁少年通关原版俄罗斯方块:历史首人,此前仅 AI 可完成
俄罗斯方块这款经典游戏想必大家都玩过,但能将其通关的人此前从未出现。近日,这一空白终于被打破。 美国一名13岁少年近日玩1988年任天堂版《俄罗斯方块》,连连通关,最后把游戏逼到画面定格、再无方块掉落,相当于游戏端“缴械投降”。他或为实现这一目标的第一人。先前,只有人工智能取得这一战果。 据英国《每日邮报》1月2日报道,家住俄克拉何马州的威利斯·吉布森去年12月在线直播玩《俄罗斯方块》。直播画面显示,他只用几分钟便打到“普通人天花板”的第30关,获得999999分。接着,方块掉落速度越来越快,但吉布森凭借惊人的反应能力,最终用大约38分钟玩到第157关,令游戏画面定格,代表游戏端“彻底没辙了”。 viahttps://www.youtube.com/watch?v=J9oVQ43j22g 此时,吉布森一脸不可置信地说:“天啊!我要晕倒了!我感觉不到手在哪里。” 吉布森11岁开始玩《俄罗斯方块》,每天要玩3到5个小时。他成为专业玩家,多次在比赛中获奖。本次大获全胜之前,他数次向彻底击败游戏端发起冲击,总是功亏一篑。他坦言,最大困难是30分钟后自己会变得紧张。 俄罗斯方块(英语:Tetri...
- 下一篇
2023 年终盘点:Apache SeaTunnel 社区年度成就与展望
随着2023年即将画上圆满的句号,是时候回顾过去一年Apache SeaTunnel社区的辉煌成就和宝贵经验。在这充满挑战和机遇的一年里,我们的社区不断壮大,技术不断进步,成就斐然。 展望2024年 展望来年,Apache SeaTunnel社区将继续致力于打造更加高效稳定的数据集成平台,并着重在DDL自动变更、自动建表、可视化配置、整库同步等功能进行开发和改进。我们期待着与更多的开发者和合作伙伴一起,共同推动社区的发展。 结语 感谢每一位社区成员在过去一年的辛勤付出和卓越贡献,是你们让Apache SeaTunnel社区成为一个不断进步、充满活力的大家庭。让我们携手共进,迎接2024年的新挑战和机遇! 本文由 白鲸开源科技 提供发布支持!
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Hadoop3单机部署,实现最简伪集群
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2全家桶,快速入门学习开发网站教程
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7,CentOS8安装Elasticsearch6.8.6