`
wanxiaotao12
  • 浏览: 476835 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ibatis中的dynamic的用法

 
阅读更多

转自:http://blog.csdn.net/jzy23682891/article/details/7094788

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 的使用方法,特别关注 `&lt;dynamic&gt;` 标签及其相关的子标签。 #### 二、Dynamic SQL 标签概述 Dynamic SQL 在 ibatis 中主要通过以下几种标签实现: 1. **`&lt;dynamic&gt;`**:用于...

    ibatis动态SQL标签用法

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

    ibatis

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

    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 提供了多种判断参数的方法,例如 `isNotNull`、`isNotEmpty`、`isGreaterThan` 等,这些方法可以根据参数的值来生成不同的 SQL 语句。 下面是一个简单的示例,演示如何使用 iBatis 的动态...

    ibatis出错调试心得

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

    iBATIS 2.3 API JavaDoc chm格式

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

    iBATIS2.3及其说明文档

    学习文档将帮助你理解如何在iBATIS 3中使用这些新特性。 在使用iBATIS进行项目开发时,你需要掌握以下几个关键步骤: 1. 配置环境:在项目的类路径下添加iBATIS的jar包,同时配置数据源和SqlSessionFactory。 2. ...

    ibatis培训教程

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

    ibatis + filter

    总结来说,这个示例展示了如何将iBatis集成到Java Web应用中,使用XML配置文件定义SQL映射,并利用Servlet过滤器进行用户登录验证。理解这些概念和技术对于开发可扩展且安全的Web应用程序至关重要。在实际项目中,...

    Ibatis常用sql语句

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

    Ibatis查询语句里,可以使用多表查询

    本文详细介绍了 iBatis 中多表查询的概念及其配置方法。通过上述示例,我们可以了解到如何在 iBatis 中编写复杂的 SQL 查询语句,并且如何通过定义合适的 `ResultMap` 来处理查询结果。这对于实际项目开发具有重要的...

    ibatis的动态查询

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

    iBATIS实战

    3.4.1 在独立应用程序中使用iBATIS 50 3.4.2 在Web应用程序中使用iBATIS 50 3.5 iBATIS和JDBC 51 3.5.1 释放JDBC资源 51 3.5.2 SQL注入 51 3.5.3 降低复杂度 52 3.6 配置iBATIS(续) 53 3.6.1 SQL Map配置文件 54 ...

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

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

    ibatis api 英文文档

    10. **Dynamic SQL**:iBATIS支持动态SQL,允许在SQL语句中使用条件判断、循环等结构,使SQL更灵活。 11. **Batch Operations**:iBATIS提供了批处理功能,可以一次性提交多个插入、更新或删除操作,提升批量数据...

Global site tag (gtag.js) - Google Analytics