`

ibatis dynamic

 
阅读更多

 

dynamic可以去除第一个prepend="and"中的字符(这里为and),从而可以帮助你实现一些很实用的功能。具体情况如下: 

 

1.使用dynamic 

 

1.1 xml 

select * from Person表  

        <dynamic prepend="where">   

                <isNotNull property="name" prepend="and">  

                    name=#name#  

                </isNotNull>  

                <isNotNull property="sex" prepend="and">  

                    sex=#sex#  

                </isNotNull>                 

        </dynamic>  

 

1.2 结果

     当name、sex都非null时打出如下的sql语句: select Person where (and) name= ? , and sex= ?  

     显然name前的and被自动去除了,很方便吧。 

 

2.不使用dynamic 

 

2.1 xml 

       如果我把dynamic 去掉就会变的很恶心,如下: 

select * from Person       

                <isNotNull property="name" prepend="and">  

                    name=#name#  

                </isNotNull>  

                <isNotNull property="sex" prepend="and">  

                    sex=#sex#  

                </isNotNull>     

 

 

2.2 结果 

      当name、sex都非null时打出如下的sql语句: select Person where and name= ? , and sex= ? 

      显然name前多个and,sql语句错误。 

 

3.总结 

      dynamic 会自动去除第一个 prepend="and中的内容(这里为and),从而方便一些操作。

分享到:
评论

相关推荐

    ibatis的dynamicSQL中,关于prepend的使用

    在探讨ibatis中的动态SQL(Dynamic SQL)及`prepend`的使用时,我们首先需要对ibatis有一个基本的理解。ibatis是一种开源的数据访问层框架,它简化了Java应用程序与数据库之间的交互过程。通过使用XML配置文件来定义...

    ibatis dynamic 用法

    ### ibatis Dynamic SQL 用法详解 #### 一、引言 ibatis 是一款非常流行的持久层框架,它简化了 Java 应用程序与数据库之间的交互。Dynamic SQL 功能是 ibatis 中的一项重要特性,允许开发者根据运行时的条件动态...

    iBATIS动态标签

    `&lt;dynamic&gt;`标签是iBATIS动态标签的核心,它允许在其内部包含一系列的条件标签,根据不同的条件来决定哪些部分应该被插入到最终的SQL语句中。`&lt;dynamic&gt;`标签有三个主要属性: 1. `prepend`: 在动态内容前添加的字符...

    ibatis_3.0_Dynamic_Sql_设计解析(并与2.x的差异)

    标题和描述均聚焦于ibatis 3.0 Dynamic Sql的设计解析以及它与2.x版本的差异,这是一个关于ORM(对象关系映射)框架ibatis在处理动态SQL方面的重要升级和改进的主题。以下是对该主题的深入探讨: ### 重要概念:...

    ibatis_3.0_Dynamic_Sql_设计解析

    ibatis,ibatis,ibatis,ibatis,ibatis

    iBatis文档\ibatis.doc

    iBatis 是一款轻量级的Java持久层框架,它主要负责将数据库操作与业务逻辑解耦,使得开发者可以更加专注于SQL和业务代码的编写。本文档将详细讲解iBatis的核心概念、快速入门以及高级特性。 ### iBatis 快速启动 #...

    ibatis

    - 使用Java代码调用SQL Map的方法,包括Statement的类型(Static SQL和Dynamic SQL)、ResultHandler和ParameterHandler。 - iBATIS的事务管理,如何控制事务的边界,以及在Spring中利用@Transactional注解实现声明...

    ibatis2.X升级mybatis3.X之曲径通幽处

    Ibatis和Mybatis都是广泛使用的Java ORM(对象关系映射)框架,它们帮助开发者将数据库操作与业务逻辑解耦。本篇文章将探讨从ibatis2.x升级到mybatis3.x的过程,揭示其中的技术变迁和核心变化。 Ibatis2.x是一款轻...

    ibatis出错调试心得

    在使用iBatis进行数据库操作的过程中,可能会遇到各种各样的问题。这些问题往往由于iBatis错误信息的隐晦性而难以快速定位与解决。本文将根据所提供的标题、描述及部分内容,详细阐述在使用iBatis时可能遇到的一些...

    ibatis-2.3.

    5. **Dynamic SQL**: iBATIS 提供了动态 SQL 功能,允许在 SQL Map 文件中使用条件语句,如 `if`、`choose`、`when`、`otherwise` 等,根据输入参数的不同生成不同的 SQL 语句。 6. **Transaction Management**: ...

    ibatis中使用安全的拼接语句,动态查询,大于、小于、等于.doc

    iBatis 中使用安全的拼接语句、动态查询、大于、小于、等于 iBatis 是一个流行的持久层框架,提供了许多强大的功能来帮助开发者构建高效、安全的数据库交互应用程序。本文将详细介绍 iBatis 中使用安全的拼接语句、...

    iBATIS 2.3 API JavaDoc chm格式

    6. **Dynamic SQL**:iBATIS支持动态SQL,允许在SQL语句中使用条件判断,提高SQL的灵活性和可维护性。 7. **Transactions**:iBATIS提供了事务管理功能,可以控制SQL操作的原子性,确保数据的一致性。 8. **Cache*...

    iBATIS2.3及其说明文档

    2. Dynamic SQL:iBATIS支持动态SQL,这意味着你可以根据条件在运行时构建SQL语句,极大地提高了灵活性。例如,你可以使用if、where、choose(when/otherwise)等元素实现条件判断。 3. Mapped Statements:每个SQL...

    ibatis的错误总结

    在深入探讨ibatis框架中可能遇到的错误时,我们首先需要理解ibatis(现被称为MyBatis)的基本概念。ibatis是一种优秀的持久层框架,它消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。ibatis可以使用...

    ibatis16个常用sql语句

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

    ibatis常用sql语句

    同时,为了避免数组为空或为null时引发的SQL语法错误,iBATIS还提供了`&lt;isNotNull&gt;`和`&lt;dynamic&gt;`标签进行条件判断,确保了代码的健壮性和安全性。 ### 传递参数只含有一个数组 最后,当参数只包含一个数组时,...

    ibatis动态SQL标签用法

    iBatis动态SQL标签用法 iBatis是Java持久层框架,提供了动态SQL标签来实现动态查询。动态SQL标签可以根据不同的条件生成不同的SQL语句,从而提高查询效率和灵活性。 动态SQL片段 iBatis提供了动态SQL片段的功能,...

    ibatis_动态查询条件

    在 iBatis 中,动态查询条件是通过 `&lt;dynamic&gt;` 元素来实现的,该元素可以根据参数的值来生成不同的 SQL 语句。 在 iBatis 中,参数可以是基本类型、字符串、集合等,它们可以通过 `#` symbols 来传递给 SQL 语句。...

    ibatis.net

    7. Dynamic SQL:允许在XML配置文件中动态构建SQL语句,增强了SQL的灵活性和可维护性。 在“IBatis教程.pdf”中,可能详细介绍了如何创建SQL Maps,如何定义Data Mappers,以及如何在.NET应用程序中集成和使用...

    ibatis培训教程

    #### 五、使用动态SQL (Chapter 5: Using Dynamic SQL) - **动态SQL**: 在运行时动态生成SQL语句的技术。 - **iBATIS支持**: - 提供了多种标签如`if`、`choose`、`when`、`otherwise`等来构建动态SQL语句。 - ...

Global site tag (gtag.js) - Google Analytics