zoukankan      html  css  js  c++  java
  • Mybatics foreach动态标签的使用

    foreach 中的主要属性为 item,index,collection,open,separator,close

    item 表示集合中一个元素迭代时的别名,自己定义,一般为item

    index 指定的一个名字,用于表示每次迭代到的位置

    open以什么开始

    separator每次迭代的分割符号

    close表示以什么结束

    collection:有三种

    分别是 list,array,Map(可以是一个对象,对象里面有一个List的集合,与map是同理)

    1:list类型:

      ArrayList arrayList=new ArrayList();
      arrayList.add("1");
      arrayList.add("2");
      arrayList.add("3");
      arrayList.add("4");
    <select id="dynamicForeachTest" resultType="Blog">
               select * from t_test where id in
            <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
                    #{item}       
            </foreach>    
       </select

    2:array类型

     int[] ids = new int[] {1,2,3,4};
    <select id="dynamicForeach2Test" resultType="Blog">
         select * from t_test where id in
         <foreach collection="array" index="index" item="item" open="(" separator="," close=")">
              #{item}
         </foreach>
    </select>   

    3:Map或者对象类型

    public class TestEntity {
        private  List<String> nameList;
    
        private String id;
    
        public List<String> getNameList() {
            return nameList;
        }
    
        public void setNameList(List<String> nameList) {
            this.nameList = nameList;
        }
    
        public String getId() {
            return id;
        }
    
        public void setId(String id) {
            this.id = id;
        }
    }
     TestEntity testEntity=new TestEntity();
      List<String> nameList = testEntity.getNameList();
      nameList.add("1");
      nameList.add("2");
      nameList.add("3");
      nameList.add("4");
    <select id="dynamicForeach3Test" resultType="Blog">
             select * from t_blog where title like "%"#{title}"%" and id in
              <foreach collection="nameList" index="index" item="item" open="(" separator="," close=")">
                   #{item}
              </foreach>
     </select>

    注意此时collection的值为nameList,为实体类里面定位的值。

  • 相关阅读:
    Permutations II
    Add Binary
    Integer to Roman
    Roman to Integer
    Word Break
    完整记录一则Oracle 11.2.0.4单实例打PSU补丁的过程
    SQL Tuning 基础概述06
    SQL Tuning 基础概述05
    SQL Tuning 基础概述04
    SQL Tuning 基础概述03
  • 原文地址:https://www.cnblogs.com/zhengyihuoban/p/11126114.html
Copyright © 2011-2022 走看看