path ued pan oid open 返回 int pre
第一步:
在xxxMapper接口中添加一个函数,返回一个list,这里的参数是一个integer类型的集合
- public List < Emp > findEmpByList(@Param("list") List < Integer > list);
第二步:
在xxxMapper.xml 中添加statement语句(SQL语句)。
- 如SQL语句:select * from employee where id in (1, 2, 3, 4);
- <select id="findEmpByList" resultType="com.neuedu.bean.Emp">
- select * from employee where id in
- <!-- select * from employee where id in ( , , , ); -->
- <foreach collection="list" item="id" open="(" close=")" separator=",">
- #{id}
- </foreach>
- </select>
foreach标签中
collection:指定要遍历的集合
item:将当前遍历出的元素赋值给指定的变量
separator:每个元素之间的分隔符
open:遍历出所有结果拼接一个开始的字符
close:遍历出所有结果拼接一个结束的字符
第三步:测试
- @Test
- public void testFindEmpByList(){
- //获取IOC容器
- ApplicationContext ioc=new ClassPathXmlApplicationContext("spring.xml");
- //从IOC容器中获取bean对象
- EmployeeMapper bean = ioc.getBean(EmployeeMapper.class);
- //创建一个集合
- List<Integer> list=Arrays.asList(1,2,3);
- //使用bean对象的方法
- List<Emp> findEmpByList = bean.findEmpByList(list);
- for (Emp emp : findEmpByList) {
- System.out.println(emp);
- }
- }
Mybatis遍历查询 ——foreach
来源: http://www.bubuko.com/infodetail-2294781.html