java中lambdaquerywrapper的用法
时间: 2023-07-08 16:04:09 浏览: 475
瑞吉外卖-不同发送请求下的不同接收
LambdaQueryWrapper 是 MyBatis-Plus 提供的一种查询条件构造器,可以使用 Lambda 表达式来快速构建查询条件,使 SQL 语句更加简洁易懂。
下面是 LambdaQueryWrapper 的基本用法:
1. 引入依赖
在 pom.xml 文件中添加如下依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>x.x.x</version>
</dependency>
```
2. 创建 LambdaQueryWrapper 对象
```java
LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
```
3. 设置查询条件
```java
// 等于
lambdaQueryWrapper.eq(User::getUsername, "admin");
// 不等于
lambdaQueryWrapper.ne(User::getUsername, "admin");
// 大于
lambdaQueryWrapper.gt(User::getAge, 18);
// 大于等于
lambdaQueryWrapper.ge(User::getAge, 18);
// 小于
lambdaQueryWrapper.lt(User::getAge, 30);
// 小于等于
lambdaQueryWrapper.le(User::getAge, 30);
// 模糊查询
lambdaQueryWrapper.like(User::getUsername, "a");
// 左模糊查询
lambdaQueryWrapper.likeLeft(User::getUsername, "a");
// 右模糊查询
lambdaQueryWrapper.likeRight(User::getUsername, "a");
// IN 查询
List<Integer> ids = Arrays.asList(1, 2, 3);
lambdaQueryWrapper.in(User::getId, ids);
// NOT IN 查询
lambdaQueryWrapper.notIn(User::getId, ids);
// BETWEEN 查询
lambdaQueryWrapper.between(User::getAge, 18, 30);
// IS NULL 查询
lambdaQueryWrapper.isNull(User::getUsername);
// IS NOT NULL 查询
lambdaQueryWrapper.isNotNull(User::getUsername);
// EXISTS 查询
lambdaQueryWrapper.exists("select id from role where user_id = user.id");
// NOT EXISTS 查询
lambdaQueryWrapper.notExists("select id from role where user_id = user.id");
// 自定义查询条件
lambdaQueryWrapper.apply("date_format(create_time,'%Y-%m-%d') = '2022-01-01'");
```
4. 执行查询
```java
List<User> userList = userMapper.selectList(lambdaQueryWrapper);
```
阅读全文