`
kidiaoer
  • 浏览: 818637 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

ibatis动态SQL语句

阅读更多
ibatis动态SQL语句
动态SQL语句
1)二元条件元素的属性:
    prepend  - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可选)
    property  - 被比较的属性(必选)
    compareProperty  -  另一个用于和前者比较的属性(必选或选择 compareValue)
    compareValue  -  用于比较的值(必选或选择 compareProperty)
<isEqual>                  比较属性值和静态值或另一个属性值是否相等。
<isNotEqual>          比较属性值和静态值或另一个属性值是否不相等。
<isGreaterThan>      比较属性值是否大于静态值或另一个属性值。
<isGreaterEqual>  比较属性值是否大于等于静态值或另一个属性值。
<isLessThan>          比较属性值是否小于静态值或另一个属性值。
<isLessEqual>          比较属性值是否小于等于静态值或另一个属性值。
例子:
<isLessEqual prepend=”AND” property=”age” compareValue=”18”>
    ADOLESCENT = 'TRUE'
</isLessEqual>

2)一元条件元素的属性:
    prepend  - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可选)
    property  - 被比较的属性(必选)
<isPropertyAvailable>          检查是否存在该属性(存在 parameter bean 的属性) 。
<isNotPropertyAvailable>  检查是否不存在该属性(不存在 parameter bean 的属性) 。
<isNull>                                  检查属性是否为 null。
<isNotNull>                              检查属性是否不为 null。
<isEmpty>                                  检查 Collection.size()的值,属性的 String 或 String.valueOf()值,
                                                    是否为 null或空( “”或size() < 1) 。
<isNotEmpty>                          检查 Collection.size()的值,属性的 String 或 String.valueOf()值,
                                                    是否不为 null 或不为空( “”或 size() > 0) 。
例子:
<isNotEmpty prepend=”AND” property=”firstName” >
    FIRST_NAME=#firstName#
</isNotEmpty> 

3)Iterate:这属性遍历整个集合,并为 List 集合中的元素重复元素体的内容。
   
    Iterate 的属性:
        prepend  - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可选)
        property  - 类型为 java.util.List 的用于遍历的元素(必选)
        open  -  整个遍历内容体开始的字符串,用于定义括号(可选)
        close  -整个遍历内容体结束的字符串,用于定义括号(可选)
        conjunction -  每次遍历内容之间的字符串,用于定义 AND 或 OR(可选)
       
    <iterate>  遍历类型为 java.util.List的元素。
                         例子:
                         <iterate prepend=”AND” property=”userNameList”
                                         open=”(” close=”)” conjunction=”OR”>
                                         username=#userNameList[]#
                         </iterate>
   
#注意:使用<iterate>时,在List元素名后面包括方括号[]非常重要,方括号[]将
    对象标记为List,以防解析器简单地将List输出成String。
分享到:
评论

相关推荐

    iBatis的动态SQL语句

    ### iBatis中的动态SQL语句详解 #### 引言 在进行数据库操作时,我们经常需要根据不同的条件构建不同的SQL语句。这种需求在实际开发中极为常见,尤其是在处理复杂的查询逻辑时。iBatis(现在通常被称为MyBatis)...

    ibatis动态SQL标签用法

    iBatis提供了动态SQL片段的功能,可以将SQL语句拆分成小的、独立的片段,然后根据不同的条件组合这些片段生成最终的SQL语句。这可以提高代码的可重用性和灵活性。 例如,在上面的代码中,我们定义了三个动态SQL片段...

    在ibatis日志信息中打印SQL语句的方法(个人总结)

    在使用iBatis(现为MyBatis)作为持久层框架进行开发时,有时我们需要调试SQL语句,以便查看执行的SQL、优化性能或者解决查询问题。本文将详细讲解如何在iBatis日志信息中打印SQL语句,以便更好地理解和优化数据库...

    ibatis常用sql语句

    标题与描述概述的知识点主要集中在iBATIS框架的SQL映射技术上,特别是针对不同类型的输入参数如何在iBATIS中构建SQL语句。以下是对这些知识点的详细展开: ### iBATIS SQL映射技术概览 iBATIS是早期流行的Java持久...

    WAS上log4j日志不能输出(ibatis)sql语句解决办法[借鉴].pdf

    WAS 上 log4j 日志不能输出(ibatis)sql 语句解决办法 在部署到 WAS 服务器上的 CMSII 系统中,ibatis 的 sql 语句不能输出日志的问题。解决该问题需要改变 WAS 的默认 LogFactory 实现类,使其使用 log4j 框架下...

    Ibatis常用sql语句

    根据给定的文件信息,以下是对“Ibatis常用SQL语句”的详细解析,涵盖了一系列Ibatis在数据操作中的应用实例。 ### Ibatis简介 Ibatis是一个支持普通SQL查询、存储过程以及高级映射的优秀持久层框架。Ibatis可以让...

    ibatis sql 语句的编写

    ibatis还支持动态SQL,允许根据不同的条件生成不同的SQL语句,这对于复杂的查询非常有用。 ##### 4.1 `if`标签 ```xml SELECT * FROM USERS != null"&gt; AND name = #{name} ``` 这里使用`&lt;if&gt;`标签来...

    IBATIS动态查询语句.doc

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

    ibatis16个常用sql语句

    iBatis 16个常用SQL语句 iBatis是一个基于Java的持久层框架,提供了一个简洁的方式来访问和操作数据库。在iBatis中,SQL语句是通过XML文件来配置的。下面是16个常用的iBatis SQL语句,涵盖了基本的CRUD(Create、...

    ibatis sql语句对条件中特殊字符% # 处理

    通过对ibatis框架下SQL语句中特殊字符处理方法的详细分析,我们可以看到,合理地使用字符串转义处理结合动态SQL标签,可以有效地解决特殊字符带来的问题。这样不仅可以保证查询的准确性,还可以提高代码的健壮性和...

    根据MyBatis或iBatis的SQLMapper文件反向生成数据库表

    生成数据库表结构: 根据解析得到的SQL语句中的表名、字段名、数据类型等信息,动态地生成相应的数据库表结构。这可以通过编程语言与数据库操作的API来实现,比如Java中的JDBC或者MyBatis/iBatis提供的API。 执行SQL...

    ibatis 开发指南 和 iBATIS-SqlMaps两本图书

    5. **动态SQL**:讲解如何使用iBATIS的动态元素来构建灵活的SQL语句,以应对复杂的查询需求。 6. **API使用**:介绍SqlSession、SqlSessionFactory、Executor等关键接口和类的使用方法。 7. **缓存机制**:解释...

    ibatis-sqlmaps-2_cn

    此外,教程还会涵盖动态SQL,这是IBATIS的一大亮点,允许在运行时构建和修改SQL语句,提高了代码的复用性和可维护性。 在使用IBATIS的过程中,你可能会遇到参数映射和结果映射的问题。《ibatis-sqlmaps-2_cn》将...

    iBATIS-SqlMaps2入门代码文档

    - `&lt;sqlMap&gt;`元素指定外部映射文件的位置,用于定义具体的SQL语句和映射规则。 #### 四、总结 本文档为初学者提供了iBATIS-SqlMaps2的基础知识和实践指导。通过本文档的学习,你可以掌握如何使用iBATIS-SqlMaps2来...

    iBATIS-SqlMaps-中文教程

    iBATIS是一个持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,实现了SQL与Java代码的分离,简化了数据访问层的开发工作。这篇教程通过详细的讲解和实例,帮助读者理解和掌握iBATIS的核心功能和使用技巧。 ...

    打log4j日志-ibatis的sql输出

    对于Ibatis,这是一个轻量级的持久层框架,它将SQL语句与Java代码分离,提供了动态SQL的能力。在默认情况下,Ibatis并不会自动打印执行的SQL语句,但通过配置,我们可以使Ibatis在运行时输出SQL,这对于调试和性能...

    webwork+ibatis+sqlserver2000

    iBATIS允许直接在SQL语句中处理复杂的查询和事务管理,同时提供了一种动态和灵活的方式来映射结果集到Java对象。 【SQL Server 2000】:这是微软发布的关系型数据库管理系统,主要用于存储、管理和检索数据。SQL ...

    [iBATIS]sql转换工具

    iBATIS 提供了一个SQL映射框架,使得开发者可以编写静态的SQL语句,同时保留了SQL语句的全部能力。它将SQL语句与Java代码分离,通过XML或注解配置文件来定义SQL与Java方法的映射关系,以及参数模型、结果模型等。...

    iBatis.net使用动态sql语句

    因为要下载其它的文件,所以从网站复制了一些其它的资源进行上传。但是这个资源是相当有用的。这里感谢之前总结相关技术的人员。谢谢

Global site tag (gtag.js) - Google Analytics