LambdaQueryWrapper 支持in查询
时间: 2023-07-06 09:04:30 浏览: 108
是的,LambdaQueryWrapper 支持 in 查询。可以使用 in 方法来添加 in 条件,如下所示:
```
List<Integer> ids = Arrays.asList(1, 2, 3);
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<User>()
.in(User::getId, ids);
List<User> userList = userMapper.selectList(wrapper);
```
在上面的示例中,我们使用了 in 方法来添加 id 在 1、2、3 中的查询条件。这个条件会被转换为 `id in (1, 2, 3)` 的 SQL 语句。
相关问题
LambdaQueryWrapper 支持in查询 类型为String
是的,LambdaQueryWrapper 支持in查询并且可以传入一个字符串类型的参数。具体可以参考以下代码示例:
```
String ids = "1,2,3,4";
List<User> userList = userMapper.selectList(new LambdaQueryWrapper<User>()
.in(User::getId, ids.split(","))
);
```
在上面的示例中,我们将一个包含多个id的字符串 `ids` 通过 `split(",")` 方法转换成了一个数组,然后将该数组作为参数传递给 `in` 方法中。这样就可以实现将多个id一起查询的效果。
java lambdaquerywrapper in子查询如何拼接sql
可以使用LambdaQueryWrapper的nested方法来实现in子查询的拼接。以下是一个示例代码:
```java
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.inSql(User::getId, "select user_id from user_role where role_id = 1");
List<User> userList = userMapper.selectList(wrapper);
```
上述代码中,LambdaQueryWrapper的inSql方法将会生成以下SQL语句:
```sql
select * from user where id in (select user_id from user_role where role_id = 1)
```
注意,这里需要使用inSql方法而不是in方法,因为in方法只支持传入一个集合或者数组,而无法传入SQL语句。
阅读全文