• ibatis (mybatis) for循环拼接语句【转】


    使用 , 拼接

    查询条件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 ( ? , ?) ...  

    使用 or 拼接

    查询条件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 = ?)...

     引用自:http://www.cnblogs.com/Struts-pring/p/5127510.html

  • 相关阅读:
    Plot the figure of K-SVCR
    利用sklearn计算文本相似性
    djago 定义后台地址
    django admim后台不转义提交的html
    django 静态css js文件配置
    django后台的制作
    django 设置不带后缀的访问路径
    阿里云ECS服务器 常见问题(1)
    python 将word另存为txt
    python遍历某一位置所有文件夹中的文件
  • 原文地址:https://www.cnblogs.com/whatlonelytear/p/6755090.html
Copyright © 2020-2023  润新知