`

ibatis如何配置OR条件和IN条件

 
阅读更多

Iterate:这属性遍历整个集合,并为List集合中的元素重复元素体的内容。

          Iterate的属性:

          prepend - 可被覆盖的SQL语句组成部分,添加在语句的前面(可选)
          property - 类型为java.util.List的用于遍历的元素(必选)
          open - 整个遍历内容体开始的字符串,用于定义括号(可选)
          close -整个遍历内容体结束的字符串,用于定义括号(可选)
          conjunction - 每次遍历内容之间的字符串,用于定义AND或OR(可选)

 <iterate>

遍历类型为java.util.List的元素。
例子:

OR条件:
<iterate prepend="AND"  property="userNameList" open="(" close=")"

    conjunction="OR">
          username=#userNameList[]#
</iterate>

 

IN条件:

             bill_table.refer_no IN
                 <iterate conjunction="," open="(" close=")" >
                          #referNo[]#
                  </iterate>


注意:使用<iterate>时,在List元素名后面包括方括号[]非常重要,方括号[]将对象标记为List,以防解析器简单地将List输出成String。 

 

分享到:
评论
1 楼 zwllxs 2012-08-27  
如果userNameList里放的不是String而是其它对象类型呢

相关推荐

    动态ibatis查询语句配置

    动态查询语句配置是Ibatis的一个重要特性,它允许我们在运行时根据业务需求构建灵活多变的SQL语句。这篇博文主要探讨的是如何在Ibatis中设置和使用动态SQL,以便实现更高效、更灵活的数据查询。 首先,我们需要理解...

    ibatis总结 ibatis ibatis ibatis ibatis

    - 避免在`WHERE`子句中使用多个条件或`OR`操作符,而是应该使用`IN`操作符或者`UNION ALL`合并多个查询。 3. Struts、Spring与Ibatis的集成: - Struts作为MVC框架,主要负责视图与控制器的交互。在项目中,`...

    ibatis中iterate的例子

    `&lt;iterate&gt;`标签的主要用途是将集合中的元素插入到SQL语句中,形成IN或OR条件。这在处理大量ID或条件时非常有用,避免了手动拼接SQL字符串的繁琐工作。其基本语法结构如下: ```xml (" property="propertyName" ...

    Ibatis复杂查询语句.doc

    - 使用`AND`和`OR`操作符来组合多个条件,例如,`&lt;isNotEmpty prepend="AND" property="dismissStatusList"&gt;...`,如果`dismissStatusList`非空,会添加额外的`AND`条件。 6. **参数映射**: - `parameterClass`...

    IBATIS2开发指南

    4. **Trim/Where/Set/Foreach**:用于修剪SQL中的前导或尾随字符,以及遍历集合生成嵌套的IN条件。 **六、最佳实践** 1. **模块化设计**:将SQL映射文件按业务模块划分,便于管理和维护。 2. **异常处理**:合理...

    ibatis 开发指南

    - **动态映射**:ibatis支持动态SQL,即在运行时根据条件动态构建SQL语句。 - **事务管理**:ibatis支持基于JDBC和JTA的事务管理机制,以及如何与外部事务管理器集成。 - **基于JDBC的事务管理机制**:适用于单个...

    IBatis2开发指南.pdf

    IBatis支持动态SQL,允许在运行时构建SQL语句,这在处理复杂查询或需要根据参数动态改变查询条件时非常有用。 ### 事务管理 IBatis提供了两种事务管理方式:基于JDBC的事务管理和基于JTA的事务管理。 #### 1. 基于...

    mybatis Mapper.xml中传参多选 字符串形式逗号分隔 AND中拼接OR.rar

    在Mybatis中,我们经常需要处理复杂的SQL查询,其中涉及到多条件筛选,这些条件可能是可选的,并且可能需要在`AND`与`OR`之间灵活切换。标题和描述所提及的问题是关于如何在Mapper.xml文件中处理字符串形式的参数,...

    ibatis批量删除的方法.docx

    iBatis是一个轻量级的持久层框架,它允许开发者将SQL语句直接写在配置文件中,提供了灵活的映射机制,使得Java对象与数据库之间的交互更加便捷。在iBatis中,批量删除可以通过两种主要的方法实现,下面我们将详细...

    IBATIS动态查询语句.doc

    IBATIS,现在更广为人知的名字为MyBatis,是一种半自动映射的持久层框架,它允许开发者以声明的方式进行SQL语句的编写,同时提供了动态SQL的功能,这使得SQL语句可以在运行时根据条件动态生成,极大地提高了SQL的...

    xorm:xorm是一个简单而强大的Go语言ORM库,通过它可以使数据库操作非常正确。本库是基于原版xorm的定制增强版本,为xorm提供类似ibatis的配置文件及动态SQL支持,支持AcitveRecord操作

    Having,Table,Sql,Cols等函数和结构体等方式作为条件支持级联加载结构支持类ibatis方式配置SQL语句(支持XML配置文件,json配置文件,xsql配置文件,支持 , , 模板和自定义实现配置多种方式)支持动态SQL功能...

    idatis_mapper例子

    iBATIS是一个优秀的Java持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,实现了SQL与Java代码的分离,提高了开发效率和代码可维护性。 **iBATIS核心概念** 1. **Mapper接口**: 在iBATIS中,Mapper接口是...

    mysql优化提高百万条数据的查询速度[参考].pdf

    5. in和not in也要慎用,否则会导致全表扫描。对于连续的数值,能用between就不要用in了。 6. 下面的查询也将导致全表扫描:select id from t where name like '%abc%'。可以考虑使用全文检索来提高效率。 7. 如果...

    springmybatis

    MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...

Global site tag (gtag.js) - Google Analytics