【MyBatis框架】Foreach详解

Foreach:

用于条件是一个范围时使用。


使用:

    编写接口:
List<Book> queryBookByForeach(Map map);
    编写xml配置文件
<select id="queryBookByForeach" parameterType="map" resultType="Book">
        select * from book
        <where>
            <foreach collection="ids" item="id" open="and (" close=")" separator="or">
                id=#{id}
            </foreach>
        </where>
    </select>
    测试
@org.junit.Test
      public void testForeach(){
          
   
       SqlSession sqlSession=MyBatisUtils.getSqlSession();
       BookMapper bookMapper=sqlSession.getMapper(BookMapper.class);
       HashMap map=new HashMap();
       ArrayList<Integer> integers=new ArrayList<Integer>();
       integers.add(1);
       map.put("ids",integers);
       List<Book> bookList=bookMapper.queryBookByForeach(map);
             for (Book book : bookList) {
          
   
                   System.out.println(book);
             }
       sqlSession.close();
       }
经验分享 程序员 微信小程序 职场和发展