Tk.mybatis零sql语句实现动态sql查询的方法有哪些
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,这篇文章主要讲解了"Tk.mybatis零sql语句实现动态sql查询的方法有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Tk.mybatis零
千家信息网最后更新 2025年11月13日Tk.mybatis零sql语句实现动态sql查询的方法有哪些
这篇文章主要讲解了"Tk.mybatis零sql语句实现动态sql查询的方法有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Tk.mybatis零sql语句实现动态sql查询的方法有哪些"吧!
有时候,查询数据需要根据条件使用动态查询,这时候需要使用动态sql,通常我们会自己写动态sql来实现,比如:
这个sql是查询成绩大于90并且名字包含"i"的学生信息。但是有时候又加了一个条件,又要去改sql,改入参,有没有一种方式可以将写动态sql像写代码一样实现呢?如果你有这个想法,推荐你了解一下Tk.mybatis。
实现方式:
1. 使用Example实现
2. 使用Example.createCriteria
3. 使用Example.builder实现
4. 使用WeekendSqls实现
方式一:使用Example实现
/** * 第一种:使用example查询 */ @Test public void testSelectByExample() { Example example = new Example(Student.class); // 设置查询列 example.selectProperties("id","name","score"); // 动态sql example.and() .andGreaterThan("score",90) .andLike("name", "%i%"); // 去重 example.setDistinct(true); // 排序 example.orderBy("score").desc(); List students = studentMapper.selectByExample(example); System.out.println(students); } 方式二:使用example.createCriteria实现
/** * 第二种:使用example.createCriteria查询 */ @Test public void testSelectByExampleCriteria() { Example example = new Example(Student.class); // 设置查询列 example.selectProperties("id","name","score"); // 动态查询 example.createCriteria() .andGreaterThan("score",90) .andLike("name", "%i%"); // 去重 example.setDistinct(true); // 排序 example.orderBy("score").desc(); List students = studentMapper.selectByExample(example); System.out.println(students); } 方式三:使用Example.builder实现
/** * 第三种:使用Example.builder实现 */ @Test public void testSelectByExampleBuilder() { Example example = Example.builder(Student.class) // 查询列 .select("id","name","score") // 动态sql .where(Sqls.custom() .andGreaterThan("score",90) .andLike("name","%i%")) // 去重 .distinct() // 排序 .orderByDesc("score") .build(); List students = studentMapper.selectByExample(example); System.out.println(students); } 方式四:使用weekendSqls实现
/** * 第四种:使用weekendSqls实现 */ @Test public void testSelectByWeekendSqls() { WeekendSqls sqls = WeekendSqls.custom(); sqls = sqls .andGreaterThan(Student::getScore,90) .andLike(Student::getName,"%i%"); List sysRoles = studentMapper.selectByExample(Example.builder(Student.class) .select("id","name","score") .where(sqls) .distinct() .orderByDesc("score") .build()); System.out.println(sysRoles); } 感谢各位的阅读,以上就是"Tk.mybatis零sql语句实现动态sql查询的方法有哪些"的内容了,经过本文的学习后,相信大家对Tk.mybatis零sql语句实现动态sql查询的方法有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
查询
动态
方式
方法
语句
学习
排序
内容
有时候
条件
代码
信息
名字
学生
就是
思路
情况
想法
成绩
数据
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
管理软件开发质量管理
华为企业服务器价格昆明
nc后台数据库单据号查询
终端设备网络安全股票
服务器给另外一台服务器代理
2021年过年网络安全宣传
宝塔里的数据库怎么打不开
房屋鉴定网络安全
db数据库优化
中原银行服务器在哪
如何查看数据库的并发
魔兽世界正式服几个服务器
枣庄农商银行网络安全
线下棋牌游戏软件开发
客户发送请求之前需要服务器吗
诺瓦拼接服务器h9怎么连线
退出数据库登录界面
宜兴市代办网络技术工作室
怀旧服联盟选择什么服务器
天津运营网络技术怎么样
网络技术推广招聘
塔式服务器噪音
网吧管理系统数据库实验报告
数据库管理的技术变迁
如何访问svn服务器
视频融合服务器
大数据学什么软件开发
邵阳市网络安全工作领导小组会议
数据库部署在云上安全吗
36盘位存储服务器功率多大