LambdaQueryWrapper 怎么自定义where
时间: 2023-10-13 16:27:44 浏览: 60
LambdaQueryWrapper 是 MyBatis-Plus 框架提供的一个查询条件构造器,可以通过它来生成 SQL 的 WHERE 子句。
自定义 WHERE 条件,可以使用 LambdaQueryWrapper 的 `eq()`、`ne()`、`like()` 等方法,也可以使用 `apply()` 方法自定义 SQL 语句。下面是一个示例:
```java
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getAge, 20)
.apply("date_format(create_time,'%Y-%m-%d') = '2021-12-01'");
List<User> userList = userService.list(wrapper);
```
在上面的代码中,使用了 `eq()` 方法设置了年龄为 20 的条件,使用了 `apply()` 方法自定义了一个 SQL 语句,该语句会筛选出创建时间为 2021 年 12 月 1 日的用户。
需要注意的是,使用 `apply()` 方法时需要注意 SQL 注入的问题,应该避免使用拼接字符串来构造 SQL 语句,可以使用参数绑定的方式来避免这个问题,例如:
```java
wrapper.apply("date_format(create_time,'%Y-%m-%d') = {0}", "2021-12-01");
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)