zoukankan      html  css  js  c++  java
  • ibatis中iterate的用法(conjunction="or" ",")

    例子一

    查询条件dto

    public class queryCondition
    {
     private String[] stuIds;
     private String name;
    }


    查询sqlMap

    <select id="selectStu" parameterClass="cn.xy.queryCondition" resultClass="cn.xy.Student">
     select id,name from student
     <dynamic prepend="where">
      <isNotNull property="stuIds" prepend="and">
       <iterate property="stuIds" open="id in (" close=")" conjunction=",">
        #stuIds[]#
       </iterate>
      </isNotNull>
      <isNotNull property="name" prepend="and">
       name like '%$name$%'
      </isNotNull>
     </dynamic>
    </select>


    在查询条件中有一个数组stuIds,在动态标签中进行遍历,看每一个student的id是否在该数组中。

    发出的语句 select id,name from student where  id in ( ? , ?) ...  

    例子二 

    查询条件dto

    public class queryCondition
    {
     private List<Student> lst;
     private String name;
    }


    查询sqlMap

    <select id="selectStu" parameterClass="cn.xy.queryCondition" resultClass="cn.xy.Student">
     select id,name from student
     <dynamic prepend="where">
      <isNotNull property="lst" prepend="and">
       <iterate property="lst" open=" (" close=")" conjunction="or">
        id = #lst[].id#
       </iterate>
      </isNotNull>
      <isNotNull property="name" prepend="and">
       name like '%$name$%'
      </isNotNull>
     </dynamic>
    </select>

    发出的语句 select id,name from student where  (id = ?   or   id = ?)...

  • 相关阅读:
    beta冲刺总结-咸鱼
    咸鱼翻身beta冲刺博客集
    事后诸葛亮
    个人作业——软件产品案例分析
    Alpha冲刺博客集
    结对作业第二次
    项目需求分析(团队)
    第二次作业——个人项目实战
    软件工程实践第一次作业--准备
    beta冲刺总结
  • 原文地址:https://www.cnblogs.com/Struts-pring/p/5127510.html
Copyright © 2011-2022 走看看