MyBatisPlus-范围查询模糊查询及排序查询
Posted 夏志121
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatisPlus-范围查询模糊查询及排序查询相关的知识,希望对你有一定的参考价值。
目录
一、范围查询
需求:对年龄进行范围查询,使用lt()、le()、gt()、between()进行范围查询
@SpringBootTest
class Mybatisplus02DqlApplicationTests
@Autowired
private UserDao userDao;
@Test
void testGetAll()
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
lqw.between(User::getAge, 10, 30);
//SELECT id,name,password,age,tel FROM user WHERE (age BETWEEN ? AND ?)
List<User> userList = userDao.selectList(lqw);
System.out.println(userList);
gt():大于(>)
ge():大于等于(>=)
lt():小于(<)
lte():小于等于(<=)
between():between ? and ?
二、模糊查询
需求:查询表中name属性的值以3开头的用户信息,使用like进行模糊查询
@SpringBootTest
class Mybatisplus02DqlApplicationTests
@Autowired
private UserDao userDao;
@Test
void testGetAll()
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
lqw.likeLeft(User::getName, "J");
//SELECT id,name,password,age,tel FROM user WHERE (name LIKE ?)
List<User> userList = userDao.selectList(lqw);
System.out.println(userList);
like():前后加百分号,如 %J%
likeLeft():前面加百分号,如 %J
likeRight():后面加百分号,如 J%
三、排序查询
需求:查询所有数据,然后按照id降序
@SpringBootTest
class Mybatisplus02DqlApplicationTests
@Autowired
private UserDao userDao;
@Test
void testGetAll()
LambdaQueryWrapper<User> lwq = new LambdaQueryWrapper<>();
/**
* condition :条件,返回boolean,
当condition为true,进行排序,如果为false,则不排序
* isAsc:是否为升序,true为升序,false为降序
* columns:需要操作的列
*/
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不添加排序
除了上面几种查询条件构建方法还有其他方法,比如isNull,isNotNull,notIn等等方法可供选择,具体可以参考官方文档的条件构造器俩学习使用,具体网址为:
条件构造器 | MyBatis-Plus (baomidou.com)https://baomidou.com/pages/10c804/#abstractwrapper
以上是关于MyBatisPlus-范围查询模糊查询及排序查询的主要内容,如果未能解决你的问题,请参考以下文章
18 12 06 sql 的 基本语句 查询 条件查询 逻辑运算符 模糊查询 范围查询 排序 聚合函数 分组 分页 连接查询 自关联 子查询