返回顶部
首页 > 资讯 > 后端开发 > Python >mybatisQueryWrapper的条件构造之apply、last、select解析
  • 916
分享到

mybatisQueryWrapper的条件构造之apply、last、select解析

2024-04-02 19:04:59 916人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录QueryWrapper条件构造之apply、last、selectMysql上的limit使用 如果是sqlserver条件构造器QueryWrapper实

QueryWrapper条件构造之apply、last、select

场景: 查询数据库限制条数时

mysql上的limit使用 

QueryWrapper needSyn = new QueryWrapper();
needSyn.ge("ModifyDate",lmtSynRec.getLatestDate());
needSyn.last("limit 200");
List<CusCarInfo> needData = cusCarInfoMapper.selectList(needSyn);

如果是oracle则可以用apply

needSyn.apply("rownum < {0}" , 200);

如果是sqlserver

建议自己写sql查询语句

<select id="getSynList" resultType="com.xmeport.project.model.entity.CusCarInfo">
    select top ${top}  *  from CUS_CAR_INFO t where t.ModifyDate > cast(#{latestDate} as datetime) orderBy 
 t.ModifyDate asc
</select>
List<CusCarInfo> getSynList(int top, Date latestDate);

或者使用QueryWrapper的select

QueryWrapper<CusCarInfo> wrapper  = 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实现:


@Test
public void selectByQueryWrapper3(){
  QueryWrapper<Employee> queryWrapper=new QueryWrapper();
  // QueryWrapper<Employee> queryWrapper2=Wrappers.<Employee>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<Employee> employeeList = employeeMapper.selectList(queryWrapper);
  System.out.println(employeeList);
}

案例二

查询姓李的或者邮箱不为空并且是女性的员工

sql实现:

SELECT * FROM t_employee WHERE NAME LIKE '李%' OR (email IS NOT NULL AND gender ='女')

mp实现:


@Test
public void selectByQueryWrapper4(){
  QueryWrapper<Employee> queryWrapper=new QueryWrapper();
  // QueryWrapper<Employee> queryWrapper2=Wrappers.<Employee>query();
  queryWrapper.likeRight("name","李").or(wq->wq.isNotNull("email").eq("gender","女"));
  List<Employee> employeeList = employeeMapper.selectList(queryWrapper);
  System.out.println(employeeList);
}

案例三

查询姓李的并且邮箱不为空或者是女性的员工

sql实现:

SELECT * FROM t_employee WHERE NAME LIKE '李%' AND (email IS NOT NULL OR gender ='女')

mp实现:


@Test
public void selectByQueryWrapper5(){
  QueryWrapper<Employee> queryWrapper=new QueryWrapper();
  // QueryWrapper<Employee> queryWrapper2=Wrappers.<Employee>query();
  queryWrapper.likeRight("name","李").and(wq->wq.isNotNull("email").or().eq("gender","女"));
  List<Employee> 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实现:


@Test
public void selectByQueryWrapper6(){
  QueryWrapper<Employee> queryWrapper=new QueryWrapper();
  // QueryWrapper<Employee> queryWrapper2=Wrappers.<Employee>query();
  queryWrapper.likeRight("name","李").and(wq->wq.isNotNull("email").or().eq("gender","女"));
  List<Employee> employeeList = employeeMapper.selectList(queryWrapper);
  System.out.println(employeeList);
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: mybatisQueryWrapper的条件构造之apply、last、select解析

本文链接: https://lsjlt.com/news/143434.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • mybatisQueryWrapper的条件构造之apply、last、select解析
    目录QueryWrapper条件构造之apply、last、selectmysql上的limit使用 如果是sqlserver条件构造器QueryWrapper实...
    99+
    2024-04-02
  • 关于MyBatis plus条件构造器的逐条详解
    目录条件构造器说明警告AbstratWrappr说明allEq个别参数说明eq实例negtgeltlebetweennotBetweenlikenotLikelikeLeftlike...
    99+
    2024-04-02
  • Spring源码解析之推断构造方法的示例分析
    小编给大家分享一下Spring源码解析之推断构造方法的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Spring推断构造方法贴个测试代码直接开干,这只是个...
    99+
    2023-06-15
  • Mybatis Plus使用条件构造器增删改查功能的示例分析
    这篇文章主要介绍Mybatis Plus使用条件构造器增删改查功能的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!java后端层级结构Controller 接口层接口层比较好理解,它是面向web网络的接口,使...
    99+
    2023-06-15
  • Go语言ORM包中使用worm构造查询条件的实例详解
    目录构造查询条件main函数数据库表与数据模型通过ID来查询数据通过Where函数来查询数据XXXIf查询in、not in查询嵌套查询语句Limit与Offsetorde...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作