queryWrapper自定义SQL条件
时间: 2023-06-12 21:06:01 浏览: 99
`QueryWrapper` 是 MyBatis-Plus 提供的一种方便的查询条件构建工具,可以用于快速构建 SQL 查询条件。如果需要自定义 SQL 条件,可以通过 `QueryWrapper` 的 `apply` 方法来实现。
`apply` 方法的作用是将一个自定义的 SQL 片段添加到查询条件中。例如,假设我们要查询年龄大于 18 岁并且身高大于 170cm 的用户,我们可以这样构建 `QueryWrapper` 条件:
```
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda()
.gt(User::getAge, 18)
.gt(User::getHeight, 170)
.apply("and gender = 'male'");
```
其中,`apply` 方法的参数是一个 SQL 片段,可以使用任何有效的 SQL 语句,例如 `and`、`or`、`where` 等关键字,以及表名、列名、函数等等。
需要注意的是,`apply` 方法添加的 SQL 片段会直接拼接到查询语句中,因此需要注意 SQL 注入的问题。建议使用占位符等安全的方式来构建 SQL 片段。例如,可以这样写:
```
queryWrapper
.apply("and gender = {0}", "male");
```
这样,`apply` 方法会将 `{0}` 替换成 `"male"`,从而构建出安全的 SQL 语句。
阅读全文