mybatis QueryWrapper的apply、last、select怎么用
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇"mybatis QueryWrapper的apply、last、select怎么用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家
千家信息网最后更新 2025年02月02日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");ListneedData = 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(){ QueryWrapperqueryWrapper=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(){ QueryWrapperqueryWrapper=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(){ QueryWrapperqueryWrapper=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(){ QueryWrapperqueryWrapper=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安全错误
数据库的锁怎样保障安全
三年级网络安全代言语
大象图标的数据库软件
网络安全符号
如何配置远程服务器
数据库系统及应用教程电子版
网络安全 打 控
软件开发公司违约
windows服务器端访问许可
软件开发每日反思
渔阳网络技术有限公司
软件开发实施工程师简历
上海综合软件开发定制要多少钱
一个安全的ce服务器怎么配置
c 数据库线程安全
条形码如何关联数据库
数据库到mount状态下
萌妹爱画画网络安全
未知转变者怎么查看服务器的地图
网络安全自主检查情况
计算机网络安全 ppt
都有哪些行业需要软件开发
服务器利旧优缺点
失落世界网易服务器提炼粉怎么得
电子商务数据库系统的设计
sql 关联数据库
数据库书籍推荐后端
苏州慕名网络技术有限公司
大学专业软件开发
输入时判断数据库是否存在
app+软件开发方案