mybatis根据List查询
时间: 2023-07-03 12:25:27 浏览: 42
如果你想使用 MyBatis 根据 List 查询,可以使用 `foreach` 标签。假设你有一个 List,包含了多个参数值,你可以使用 `foreach` 标签将它们传递给 SQL 语句。
下面是一个示例 SQL 语句,用于查询多个用户的信息:
```sql
SELECT * FROM user WHERE id IN
<foreach item="id" collection="ids" open="(" separator="," close=")">
#{id}
</foreach>
```
在这个 SQL 语句中,`ids` 是一个包含多个用户 ID 的 List。`foreach` 标签将会遍历这个 List,将其中每一个 ID 值作为参数传递给 SQL 语句中的 `#{id}` 占位符。
在 MyBatis 的 Mapper 文件中,你可以将这个 SQL 语句定义为一个查询方法,如下所示:
```xml
<select id="selectUsersByIds" resultType="User">
SELECT * FROM user WHERE id IN
<foreach item="id" collection="ids" open="(" separator="," close=")">
#{id}
</foreach>
</select>
```
在这个 Mapper 文件中,`ids` 是作为参数传递给查询方法的一个 List。在查询方法被调用时,MyBatis 会将这个 List 中的参数传递给 SQL 语句中的 `foreach` 标签。最终,MyBatis 会将查询结果映射到 `User` 对象中,并返回一个包含多个 `User` 对象的 List。