mybatis plus查询list<string>
时间: 2023-08-21 13:02:41 浏览: 201
mybatis plus的3种查询方式(小结)
如果你使用的是 MyBatis Plus,可以使用 `LambdaQueryWrapper` 进行查询。
假设你有一个实体类 `User`,包含一个名为 `hobbies` 的 `List<String>` 属性,那么可以按照如下方式查询符合条件的用户列表:
```java
// 构造查询条件
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.inSql("hobbies", "SELECT hobby FROM hobby_table WHERE category = 'outdoor'");
// 执行查询
List<User> userList = userMapper.selectList(queryWrapper);
```
其中,`inSql` 方法可以传入一个 SQL 子查询,用于查询 `hobbies` 列表中包含指定兴趣的用户。这里假设 `hobby_table` 表中包含所有的兴趣,且每个兴趣都有一个所属的 `category` 类别,我们需要查询类别为 `"outdoor"` 的兴趣对应的所有用户。
需要注意的是,`inSql` 方法会将子查询的结果作为字符串嵌入到最终的 SQL 语句中,因此需要确保子查询的结果可以被正确解析为一个字符串列表。
阅读全文