返回顶部
首页 > 资讯 > 数据库 >Java开发学习(四十四)----MyBatisPlus查询语句之查询条件
  • 665
分享到

Java开发学习(四十四)----MyBatisPlus查询语句之查询条件

java学习数据库mysql 2023-09-18 12:09:28 665人浏览 独家记忆
摘要

1、查询条件 前面我们只使用了lt()和gt(),除了这两个方法外,mybatisPlus还封装了很多条件对应的方法。 MybatisPlus的查询条件有很多: 范围匹配(> 、 = 、between) 模糊匹配(like) 空判定(

1、查询条件

前面我们只使用了lt()和gt(),除了这两个方法外,mybatisPlus还封装了很多条件对应的方法。

MybatisPlus的查询条件有很多:

  • 范围匹配(> 、 = 、between)

  • 模糊匹配(like)

  • 空判定(null)

  • 包含性匹配(in)

  • 分组(group)

  • 排序(order)

  • ……

1 等值查询

需求:根据用户名和密码查询用户信息

@SpringBootTestclass Mybatisplus02DqlApplicationTests {​    @Autowired    private UserDao userDao;        @Test    void testGetAll(){        LambdaQueryWrapper lqw = new LambdaQueryWrapper();        lqw.eq(User::getName, "Jerry").eq(User::getPassWord, "jerry");        User loginUser = userDao.selectOne(lqw);        System.out.println(loginUser);    }}
  • eq(): 相当于 =,对应的sql语句为

    SELECT id,name,password,age,tel FROM user WHERE (name = ? AND password = ?)
  • selectList:查询结果为多个或者单个

  • selectOne:查询结果为单个

2 范围查询

需求:对年龄进行范围查询,使用lt()、le()、gt()、ge()、between()进行范围查询

@springBootTestclass Mybatisplus02DqlApplicationTests {​    @Autowired    private UserDao userDao;        @Test    void testGetAll(){        LambdaQueryWrapper lqw = new LambdaQueryWrapper();        lqw.between(User::getAge, 10, 30);        //SELECT id,name,password,age,tel FROM user WHERE (age BETWEEN ? AND ?)        List userList = userDao.selectList(lqw);        System.out.println(userList);    }}
  • gt():大于(>)

  • ge():大于等于(>=)

  • lt():小于(<)

  • lte():小于等于(<=)

  • between():between ? and ?

3 模糊查询

需求:查询表中name属性的值以J开头的用户信息,使用like进行模糊查询

@SpringBootTestclass Mybatisplus02DqlApplicationTests {​    @Autowired    private UserDao userDao;        @Test    void testGetAll(){        LambdaQueryWrapper lqw = new LambdaQueryWrapper();        lqw.likeLeft(User::getName, "J");        //SELECT id,name,password,age,tel FROM user WHERE (name LIKE ?)        List userList = userDao.selectList(lqw);        System.out.println(userList);    }}
  • like():前后加百分号,如 %J%

  • likeLeft():前面加百分号,如 %J

  • likeRight():后面加百分号,如 J%

4 排序查询

需求:查询所有数据,然后按照id降序

@SpringBootTestclass Mybatisplus02DqlApplicationTests {​    @Autowired    private UserDao userDao;        @Test    void testGetAll(){        LambdaQueryWrapper lwq = new LambdaQueryWrapper<>();                lwq.orderBy(true,false, User::getId);​        userDao.selectList(lw    }}

除了上面演示的这种实现方式,还有很多其他的排序方法可以被调用,如图:

  • orderBy排序

    • condition:条件,true则添加排序,false则不添加排序

    • isAsc:是否为升序,true升序,false降序

    • columns:排序字段,可以有多个

  • orderByAsc/Desc(单个column):按照指定字段进行升序/降序

  • orderByAsc/Desc(多个column):按照多个字段进行升序/降序

  • orderByAsc/Desc

    • condition:条件,true添加排序,false不添加排序

    • 多个columns:按照多个字段进行排序

除了上面介绍的这几种查询条件构建方法以外还会有很多其他的方法,比如isNull,isNotNull,in,notIn等等方法可供选择,具体参考官方文档的条件构造器来学习使用.

 

来源地址:https://blog.csdn.net/FaithWh/article/details/128926959

您可能感兴趣的文档:

--结束END--

本文标题: Java开发学习(四十四)----MyBatisPlus查询语句之查询条件

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

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

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作