在MyBatis中使用in查詢進行多值匹配,可以使用foreach標簽來動態生成多個條件。以下是一個示例:
假設有以下數據庫表:
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50)
);
現在要查詢id在1, 2, 3這三個值中的用戶,可以編寫如下的Mapper接口方法:
public interface UserMapper {
List<User> selectUsersByIds(List<Integer> ids);
}
然后在對應的Mapper.xml文件中編寫SQL語句:
<select id="selectUsersByIds" resultType="User">
SELECT * FROM users
WHERE id IN
<foreach collection="ids" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</select>
在這個例子中,ids是一個Listid IN (1, 2, 3)
的SQL語句。
最后,在Java代碼中調用這個方法:
List<Integer> ids = Arrays.asList(1, 2, 3);
List<User> users = userMapper.selectUsersByIds(ids);
這樣就可以使用in查詢進行多值匹配了。