mybatis QueryWrapper的apply、last、select怎么用
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,这篇"mybatis QueryWrapper的apply、last、select怎么用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家
千家信息网最后更新 2025年11月15日mybatis QueryWrapper的apply、last、select怎么用
这篇"mybatis QueryWrapper的apply、last、select怎么用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"mybatis QueryWrapper的apply、last、select怎么用"文章吧。
QueryWrapper条件构造之apply、last、select
场景: 查询数据库限制条数时
mysql上的limit使用
QueryWrapper needSyn = new QueryWrapper();needSyn.ge("ModifyDate",lmtSynRec.getLatestDate());needSyn.last("limit 200");List needData = cusCarInfoMapper.selectList(needSyn); 如果是oracle则可以用apply
needSyn.apply("rownum < {0}" , 200);如果是sqlserver
建议自己写sql查询语句
ListgetSynList(int top, Date latestDate);
或者使用QueryWrapper的select
QueryWrapperwrapper = new QueryWrapper();wrapper.select("top 200 *");return this.list(wrapper);
以上就是根据最新时间查询top条数据
传入的字段是时间类型,就用#{} 占位符接收。如果是具体的一个数字或字符可以用 ${ }来接收。
条件构造器QueryWrapper实例
我们再搞几个实例来深入理解下条件构造器QueryWrapper的用法:
案例一
查询姓李的,并且出生日期范围是1993-02-09到1994-04-09的员工
sql实现:
SELECT * FROM t_employee WHERE DATE_FORMAT(birthday,'%Y-%m-%d')>='1993-02-09' AND DATE_FORMAT(birthday,'%Y-%m-%d')<='1994-04-09' AND NAME LIKE '李%'
mp实现:
/** * 查询姓李的,并且出生日期范围是1993-02-09到1994-04-09的员工 * sql:SELECT * FROM t_employee WHERE DATE_FORMAT(birthday,'%Y-%m-%d')>='1993-02-09' AND DATE_FORMAT(birthday,'%Y-%m-%d')<='1994-04-09' AND NAME LIKE '李%' */@Testpublic void selectByQueryWrapper3(){ QueryWrapper queryWrapper=new QueryWrapper(); // QueryWrapper queryWrapper2=Wrappers.query(); queryWrapper.apply("DATE_FORMAT(birthday,'%Y-%m-%d')>={0} and DATE_FORMAT(birthday,'%Y-%m-%d')<={1}","1993-02-09","1994-04-09").likeRight("name","李"); List employeeList = employeeMapper.selectList(queryWrapper); System.out.println(employeeList);} 案例二
查询姓李的或者邮箱不为空并且是女性的员工
sql实现:
SELECT * FROM t_employee WHERE NAME LIKE '李%' OR (email IS NOT NULL AND gender ='女')
mp实现:
/** * 查询姓李的或者邮箱不为空并且是女性的员工 * sql:SELECT * FROM t_employee WHERE NAME LIKE '李%' OR (email IS NOT NULL AND gender ='女') */@Testpublic void selectByQueryWrapper4(){ QueryWrapper queryWrapper=new QueryWrapper(); // QueryWrapper queryWrapper2=Wrappers.query(); queryWrapper.likeRight("name","李").or(wq->wq.isNotNull("email").eq("gender","女")); List employeeList = employeeMapper.selectList(queryWrapper); System.out.println(employeeList);} 案例三
查询姓李的并且邮箱不为空或者是女性的员工
sql实现:
SELECT * FROM t_employee WHERE NAME LIKE '李%' AND (email IS NOT NULL OR gender ='女')
mp实现:
/** * 查询姓李的并且邮箱不为空或者是女性的员工 * sql:SELECT * FROM t_employee WHERE NAME LIKE '李%' AND (email IS NOT NULL OR gender ='女') */@Testpublic void selectByQueryWrapper5(){ QueryWrapper queryWrapper=new QueryWrapper(); // QueryWrapper queryWrapper2=Wrappers.query(); queryWrapper.likeRight("name","李").and(wq->wq.isNotNull("email").or().eq("gender","女")); List employeeList = employeeMapper.selectList(queryWrapper); System.out.println(employeeList);} 案例四
查询属于编号1,2,3部门的并且薪水小于等于3500的员工 根据年龄从大到小排序显示
sql实现:
SELECT * FROM t_employee WHERE salary<=3500 AND departmentId IN (1,2,3) ORDER BY birthday ASC
mp实现:
/** * 查询属于编号1,2,3部门的并且薪水小于等于3500的员工 根据年龄从大到小排序显示 * sql:SELECT * FROM t_employee WHERE salary<=3500 AND departmentId IN (1,2,3) ORDER BY birthday ASC */@Testpublic void selectByQueryWrapper6(){ QueryWrapper queryWrapper=new QueryWrapper(); // QueryWrapper queryWrapper2=Wrappers.query(); queryWrapper.likeRight("name","李").and(wq->wq.isNotNull("email").or().eq("gender","女")); List employeeList = employeeMapper.selectList(queryWrapper); System.out.println(employeeList);} 以上就是关于"mybatis QueryWrapper的apply、last、select怎么用"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
查询
员工
内容
女性
案例
邮箱
条件
实例
就是
年龄
数据
文章
日期
时间
知识
篇文章
范围
薪水
部门
构造器
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
cae软件开发招聘
云顶之弈澳服服务器下载
深圳市点米互联网科技有限公司
fm小型数据库能玩多久
镇网络安全专项治理工作
成都悠住网络技术有限公司
数据库 数据倾斜
文档软件开发服务介绍
网络安全logo图片大全
网络安全创投股票有哪些
数据库cl
网络安全内容手抄报有哪些
猪八戒pc软件开发
中电飞华网络技术有限公司
郑州芯互联网科技公司
原神世界树服务器可以互通嘛
计算机网络技术分什么方向
上海嘉奥网络技术有限公司
江北区媒体网络技术供应商家
下列关于数据库日志描述
真实有效的即时通讯软件开发
广东上位机软件开发
软件开发阶段提交
java中如何轮训数据库
安阳会计财务软件开发
深信服网络安全产品售后
网络安全教育征文100字
国际服吃鸡服务器选择
软件开发企业如何备案
微信小程序 数据库技术