在MyBatis中,如果你想進(jìn)行批量查詢并返回一個List對象,你可以使用<foreach>
標(biāo)簽來實現(xiàn)。首先,你需要在你的Mapper XML文件中編寫一個批量查詢的SQL語句,然后在對應(yīng)的接口方法上添加@Results
注解來定義返回類型。
以下是一個簡單的示例:
public class User {
private int id;
private String name;
private String email;
// 省略getter和setter方法
}
import java.util.List;
public interface UserMapper {
List<User> selectUsersByExample(List<User> userList);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
<select id="selectUsersByExample" resultType="com.example.entity.User">
SELECT * FROM user
WHERE 1=1
<foreach collection="userList" item="user" separator=",">
AND name = #{user.name}
AND email = #{user.email}
</foreach>
</select>
</mapper>
在這個示例中,我們使用<foreach>
標(biāo)簽遍歷傳入的userList
,并為每個用戶生成一個查詢條件。注意,我們在WHERE 1=1
后面添加了<foreach>
標(biāo)簽,這樣可以確保生成的查詢條件是有效的。
現(xiàn)在,你可以在你的服務(wù)層調(diào)用UserMapper.selectUsersByExample()
方法來進(jìn)行批量查詢,并獲取一個包含查詢結(jié)果的List<User>
對象。