目录

​一、范围查询​

​二、模糊查询​

​三、排序查询​


一、范围查询

需求:对年龄进行范围查询,使用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
}
}

除了上面的演示方式,还有其他排序方法可以被调用:

MyBatisPlus-范围查询、模糊查询及排序查询_mysql

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)

MyBatisPlus-范围查询、模糊查询及排序查询_数据库_02

https://baomidou.com/pages/10c804/#abstractwrapper​