mapper:
public interface UserMapper {
public List<User> findUserByIds2(List<Integer> ids);
}
xml配置:
<!-- 5.参数是数组
如果参数是数组的话,parameterType可以写全名【java.util.List】,也可以写别名
遍历或者判断的时候,都用list变量
-->
<select id="findUserByIds2" parameterType="list" resultType="user">
<!--性别和名字 SELECT * FROM user WHERE id in (1,2,3) -->
SELECT * FROM user
<where>
<if test="list != null and list.size > 0">
<foreach collection="list" item="id" open="id in(" close=")" separator=",">
${id}
</foreach>
</if>
</where>
</select>
测试类:
public class Demo01 {
SqlSession session;
@Before
public void before() throws IOException {
System.out.println("before....获取session");
//读取配置文件
InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml");
//通过SqlSessionFactoryBuilder创建SqlSessionFactory会话工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
//通过SqlSessionFactory创建SqlSession
session = sessionFactory.openSession();
}
@After
public void after(){
session.close();
}
@Test
public void test5() throws IOException {
UserMapper userMapper = session.getMapper(UserMapper.class);
List<Integer> ids = new ArrayList<Integer>();
ids.add(1);
ids.add(10);
ids.add(16);
List<User> users = userMapper.findUserByIds2(ids);
System.out.println(users);
}
}