mybatis where条件 in 怎么写
时间: 2024-05-13 07:15:36 浏览: 133
MyBatis 中的 WHERE 条件 IN 可以通过在 Mapper 文件中使用动态 SQL 的方式来实现,具体写法如下:
```xml
<select id="selectByList" parameterType="java.util.List" resultMap="BaseResultMap">
SELECT *
FROM table
WHERE column IN
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
```
其中,`list` 是传入的参数,`item` 是 list 中的每一个元素,`open`、`separator` 和 `close` 是括号和逗号的开头和结尾,`#{item}` 表示将 list 中的每一个元素替换到该位置。
例如,如果要查询 id 在 1、2、3 中的数据,可以这样调用:
```java
List<Integer> ids = Arrays.asList(1, 2, 3);
List<SomeObject> result = sqlSession.selectList("selectByList", ids);
```
MyBatis 会将 `selectByList` 中的动态 SQL 解析成如下 SQL 语句:
```sql
SELECT *
FROM table
WHERE column IN (1, 2, 3)
```
阅读全文