使用 @Select注解实现 传入list进行查询
时间: 2024-01-07 13:02:25 浏览: 189
可以使用MyBatis中的@SelectProvider注解结合Provider类来实现传入List进行查询。具体实现步骤如下:
1. 创建一个Provider类,在该类中编写动态SQL语句,使用foreach标签遍历List参数,拼接查询条件。
示例代码如下:
```
public class MyProvider {
public String selectByList(List<Integer> idList) {
StringBuilder sb = new StringBuilder();
sb.append("SELECT * FROM user WHERE id IN ");
sb.append("<foreach collection='list' item='id' open='(' separator=',' close=')'>");
sb.append("#{id}");
sb.append("</foreach>");
return sb.toString();
}
}
```
2. 在Mapper接口中使用@SelectProvider注解指定Provider类和方法。
示例代码如下:
```
@Mapper
public interface UserMapper {
@SelectProvider(type = MyProvider.class, method = "selectByList")
List<User> selectByList(List<Integer> idList);
}
```
这样就可以传入一个List参数进行查询了。
阅读全文