`

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前多个andsql语句错误

3.总结

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

分享到:
评论
1 楼 Kent_Mu 2013-04-23  

相关推荐

    iBATIS-SqlMaps-2_cn.pdf

    《iBATIS-SqlMaps-2_cn.pdf》是关于iBATIS SQL Maps的中文版文档,它详尽地阐述了如何使用SQL Maps来构建数据库驱动的Java应用。iBATIS是一个开源的Java库,它的核心功能是简化Java应用程序与数据库之间的交互,尤其...

    ibatis-sqlMap

    ### ibatis-sqlMap:SQL语句映射指导 #### 引言 ibatis-sqlMap,也称为iBATIS ...通过深入理解上述各个组件的功能和使用方法,开发者可以充分利用DataMapper的能力,构建出高效、健壮且易于维护的应用程序。

    ibatis的dynamicSQL中,关于prepend的使用

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

    ibatis dynamic 用法

    本文将详细介绍 ibatis 中 Dynamic SQL 的使用方法,特别关注 `&lt;dynamic&gt;` 标签及其相关的子标签。 #### 二、Dynamic SQL 标签概述 Dynamic SQL 在 ibatis 中主要通过以下几种标签实现: 1. **`&lt;dynamic&gt;`**:用于...

    ibatis

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

    ibatis动态SQL标签用法

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

    ibatis培训教程

    ### iBATIS培训教程知识点概览 #### 一、iBATIS基础 (Chapter 1: iBATIS Basic) - **定义**: iBATIS是一个开源框架...通过本教程的学习,你可以掌握iBATIS的基本使用方法及高级技巧,为实际项目开发打下坚实的基础。

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

    在映射器接口方面,Mybatis3.x允许开发者直接在接口方法上使用@Select、@Insert、@Update、@Delete等注解,使得接口更加清晰,降低了学习成本。同时,3.x版本引入了MapperFactoryBean,使得Spring集成更加简便,无需...

    iBatis文档\ibatis.doc

    在开始使用iBatis之前,确保你已经安装了Java运行环境,并配置了相应的JDBC驱动,这将使iBatis能够与数据库进行交互。同时,你需要一个XML配置文件来定义SqlMapClient,这是iBatis的主要接口。 #### 构建 iBatis ...

    ibatis出错调试心得

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

    ibatis +mssql 执行增删改查 +存储过程

    在MyEclipse中,可以通过New -&gt; Dynamic Web Project创建一个基于Struts的项目,然后添加Ibatis的相关依赖,如`ibatis-core.jar`和`sqljdbc4.jar`(MSSQL的JDBC驱动)。JDK1.6则是项目运行的基础,确保兼容性。 在`...

    ibatis的动态查询

    以上内容详细介绍了 ibatis 中动态查询的基本原理及具体实现方法,包括模糊查询、多条件组合查询以及使用 Map 作为参数的高级用法。这些知识点对于深入理解 ibatis 的动态查询机制非常重要,可以帮助开发者更高效地...

    图文搭建SSI(struts+spring+ibatis)框架

    本文将详细介绍如何使用MyEclipse8.5进行SSI(Struts2、Spring2.5、iBatis)框架的整合搭建。首先,我们需要一个新的Web项目作为基础。 1. **创建Web Project** 在MyEclipse8.5中,选择`File` -&gt; `New` -&gt; `...

    iBATIS2.3及其说明文档

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

    ibatis + filter

    这里要注意,`dynamic-mapped-statement`的`name`属性必须是唯一的,它是调用iBatis方法时的标识符。 为了方便地管理和加载这些配置,创建了一个名为`SqlMapUtil`的公共类。这个类使用Apache Commons Resources库...

    iBATIS 2.3 API JavaDoc chm格式

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

    ibatis_动态查询条件

    在动态查询条件中,iBatis 提供了多种判断参数的方法,例如 `isNotNull`、`isNotEmpty`、`isGreaterThan` 等,这些方法可以根据参数的值来生成不同的 SQL 语句。 下面是一个简单的示例,演示如何使用 iBatis 的动态...

Global site tag (gtag.js) - Google Analytics