Client.java
package client;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import org.apache.ibatis.io.*;
import org.apache.ibatis.session.*;
import domain.*;
public class Client {
public static void main(String args[]) throws IOException {
InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
SqlSession sqlSession = factory.openSession(true);
List<String> list = new ArrayList<String>();
list.add("王朝");
list.add("马汉");
List<Employee> emp = sqlSession.selectList("findEmployees", list);
for (Employee em : emp)
System.out.println("Employee's username: " + em.getUsername() + " Employee's password: " + em.getPassword()
+ " Employee's sex: " + em.getSex());
sqlSession.close();
}
}
UserMapper.xml
<?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="/">
<select id="findEmployees" parameterType="ArrayList"
resultType="domain.Employee">
select * from employee3
where username in
<foreach collection="list" item="item" open="(" close=")"
index="i" separator=",">
#{item}
</foreach>
</select>
</mapper>
表employee3
查询结果:
foreach标签属性:
item:集合每个对象迭代名
index:迭代序号
open:语句以什么开始
close:语句以什么结束
separator:迭代分隔符
collection:入参类型