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

  • 相关阅读:
    PostgreSQL数据库((数据库类型介绍)
    postgreSQL(SQL语音操作数据库)
    postgreSQL数据库连接注意事项
    数据库
    Excel函数文本变E+显示怎么办
    无糖可乐不好喝
    通过 命令查看 linux桌面使用的是wayland 还是 X11
    Intel CPU的后缀含义
    互联网缩略语
    linux 下为windows交叉编译 ffmpeg库
  • 原文地址:https://www.cnblogs.com/zhengyihuoban/p/11126114.html
Copyright © 2011-2022 走看看