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,为实体类里面定位的值。

  • 相关阅读:
    零拷贝报文捕获平台
    Table of Contents ---BCM
    bcm cmd
    Linux常用性能调优工具索引
    Vue params传值的坑
    安装了新的angular版本后无法运行老的angular版本项目
    后端返回的数据与前端console.log数据不一致问题
    门户页跳转页面 跳转指定的页面 接口会变成路由去显示 而不是显示组件
    配置git ssh 密钥
    grafana环境变量
  • 原文地址:https://www.cnblogs.com/zhengyihuoban/p/11126114.html
Copyright © 2011-2022 走看看