Mybatis遍历查询 ——foreach

Posted 薛小生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis遍历查询 ——foreach相关的知识,希望对你有一定的参考价值。

第一步:

  在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的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis之foreach用法----ListArrayMap三种类型遍历

MYBATIS05_ifwherechoosewhentrimsetforEach标签sql片段

Mybatis 的 foreach 批量模糊 like 查询及批量插入

Mybatis 的 foreach 批量模糊 like 查询及批量插入

Mybatis 的 foreach 批量模糊 like 查询及批量插入

Mybatis 的 foreach 批量模糊 like 查询及批量插入