mybatis QueryWrapper的apply、last、select怎么用
发表于:2024-10-09 作者:千家信息网编辑
千家信息网最后更新 2024年10月09日,这篇"mybatis QueryWrapper的apply、last、select怎么用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家
千家信息网最后更新 2024年10月09日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安全错误
数据库的锁怎样保障安全
金昌市天气预报软件开发
网络安全预防诈骗手抄报二年级
网络安全宣传知识的新闻稿
多个服务器
如何用游戏代理服务器
数据库表规则
数据库表加字段需要并行吗
南京银行软件开发常用解决方案
学软件开发那个专业好
xbmc连接远程服务器失败
东莞软件开发网
泰山200服务器几个网口
北京蓝牙科技互联网公司
女生学网络技术专业好考吗
邮件服务器spf设置
山东口碑好的服务器拆机
品牌好信誉好的郑州软件开发
服装行业用数据库吗
东莞专业软件开发优化价格
英文面试软件开发
网络安全与管理专业是学什么的
nodejs 下载服务器
对数据库的认知调查问卷
数据库表加字段需要并行吗
专用会计软件开发的方式
数据库的五大特性
什么是science数据库
国外的经济金融数据库有哪些
福建中消网络技术有限公司
数据库报错sum标识符无效