1、ibatis 中isNotEmpty的作用
<select id="getCityListByProvinceId" parameterClass="simpleMap" resultClass="dictModel">
<![CDATA[
select xid dictCode, xname dictName from city
]]>
<dynamic prepend= "where ">
<isNotEmpty prepend="and" property="xflag">
<![CDATA[
xflag=$xflag$
]]>
</isNotEmpty>
<isNotEmpty prepend="and" property="xprovinceId">
<![CDATA[
xprovince_id = #xprovinceId#
]]>
</isNotEmpty>
</dynamic>
</select>
通过dynamic 节点,我们定义了一个动态的WHERE 子句。此WHERE 子句中将
可能包含两个针对name 和address 字段的判断条件。而这两个字段是否加入检索取决
于用户所提供的查询条件。
<dynamic>内则是动态条件所相关的语句,里面填写的都是where相关的条件 对于这个动态的依赖于什么动词则为 prepend="" 其中可以填写where也可以写group by和order by
对于要动态的判定条件是否存在则用以下标签:
<isNotEmpty>意思则为当次条件不为空时执行其中语句 prepend="" 依赖约束, 值可以是 AND 也可以是OR property="" 就是对于这个条件所判定的取值字段 例如"xflag"
这样上述的select语句就可以实现一个判定<=4个条件的sql实现语句,在应用中,在页面此处就可以设计4个输入框,用户只输入其中条件,动态实现查询。
<isGreaterThan prepend="and" property="" compareValue="">
字段大于某个值 compareValue 比较值
<isGreateEqual> 大于等于比较 同上用法
<isEqual> 是否相等 同上用法
<isNotEqual> 是否不相等 同上用法
<isLessThan> 小于比较 同上用法
<isLessEqual> 小于等于比较 同上用法
转自:http://z3sm2012.iteye.com/blog/1218396
分享到:
相关推荐
### ibatis SQL语句对条件中特殊字符% # 处理 在开发过程中,经常会遇到SQL查询时需要处理字符串中的特殊字符的情况。特别是在使用类似`LIKE`这样的操作符时,如果用户输入的数据中含有`%`、`_`或`#`等特殊字符,...
在处理日期时,iBatis允许我们使用`<isNotEmpty>`等标签进行条件判断,但这里提到的`DATE_FORMAT`函数是在SQL语句中进行格式化,这可能导致查询效率降低。如果数据库支持日期类型的直接比较,应当尽量避免这种格式化...
iBATIS动态标签是SQL映射文件中的一种功能强大的特性,它允许在SQL语句中进行条件判断,根据传入的参数动态生成合适的查询条件。动态标签主要用于提高灵活性,使得SQL映射文件能够适应多种查询场景,而无需为每种...
iBatis 是一款轻量级的Java持久层框架,它主要负责将数据库操作与业务逻辑解耦,使得开发者可以更加专注于SQL和业务代码的编写。本文档将详细讲解iBatis的核心概念、快速入门以及高级特性。 ### iBatis 快速启动 #...
在动态查询条件中,iBatis 提供了多种判断参数的方法,例如 `isNotNull`、`isNotEmpty`、`isGreaterThan` 等,这些方法可以根据参数的值来生成不同的 SQL 语句。 下面是一个简单的示例,演示如何使用 iBatis 的动态...
通过isNotNull、isNotEmpty和isNotEqual等标签,可以根据Java对象中的属性值动态地生成SQL条件片段。 4. 模糊查询:模糊查询用于匹配包含特定字符串的记录。例如,使用like关键字配合SQL中的通配符“%”,可以在...
在使用iBatis进行数据库操作的过程中,可能会遇到各种各样的问题。这些问题往往由于iBatis错误信息的隐晦性而难以快速定位与解决。本文将根据所提供的标题、描述及部分内容,详细阐述在使用iBatis时可能遇到的一些...
Ibatis的`<isNotEmpty>`、`<isEqual>`等标签可以用来根据传入的参数决定是否插入通配符。例如,如果想在有搜索关键词时才进行模糊匹配: ```xml SELECT * FROM my_table != null and searchKeyword != ''"> ...
iBATIS 是一个Java编程语言中的持久层框架,它允许开发者将SQL语句直接集成到Java代码中,简化了数据库访问的复杂性。在iBATIS 2版本中,这个框架提供了强大的数据映射功能,允许程序员以面向对象的方式操作数据库,...
### iBatis中的动态SQL语句详解 #### 引言 在进行数据库操作时,我们经常需要根据不同的条件构建不同的SQL语句。这种需求在实际开发中极为常见,尤其是在处理复杂的查询逻辑时。iBatis(现在通常被称为MyBatis)...
在Ibatis中,复杂查询通常涉及到多个表的联接、条件动态拼接、子查询以及各种数据类型的处理。文档"Ibatis复杂查询语句.doc"所展示的查询语句就是一个很好的例子,展示了Ibatis如何处理复杂的数据库操作。接下来,...
在iBatis中,参数名称可以是虚拟的,非数据库字段的名称。例如,在上面的代码中,我们使用了`_img_size_ge`和`_img_size_lt`作为参数名称,这些名称不是数据库字段的名称,而是我们自己定义的虚拟参数名称。 动态...
ibatis消除了几乎所有的JDBC对象操作,提供了一个简单的基本API,它通过XML或注解进行配置,将接口及Java的POJOs(Plain Old Java Objects)映射成数据库中的记录。 #### 二、and与or联合查询基础 在SQL查询中,`AND...
在Ibatis中,动态查询是解决复杂查询需求的关键特性,它允许我们在SQL语句中根据实际的业务逻辑和用户输入动态地生成查询条件。在上述的描述中,我们看到一个典型的场景,即根据用户在页面上填写的不同内容,我们...
以上内容详细介绍了 ibatis 中动态查询的基本原理及具体实现方法,包括模糊查询、多条件组合查询以及使用 Map 作为参数的高级用法。这些知识点对于深入理解 ibatis 的动态查询机制非常重要,可以帮助开发者更高效地...
在IT领域的数据库操作中,IBATIS框架提供了一种强大且灵活的方式来进行SQL查询,尤其在动态查询方面表现得尤为突出。本文将深入探讨IBATIS动态查询语句的运用,解析其背后的逻辑与机制,以及如何利用这些特性来增强...
在Ibatis中,你可以定义一个DAO(数据访问对象)接口,接口方法对应SQL Map中的操作。同时,你需要创建对应的Java实体类,用于封装数据库中的记录。 ```java public interface UserDao { User selectUserById(int ...
IBATIS(Integrated Business Applications With IT)是一个轻量级的Java数据访问框架,它允许开发者将SQL语句直接嵌入到Java代码中,从而实现了数据库操作与业务逻辑的分离。SQL Maps是IBATIS的核心组件,它通过XML...
- 注入 `dataSource` 和 iBatis 全局配置文件(无需在此配置文件中指定数据源)。 - 必须将 Spring 框架相关的 JAR 文件部署到项目的 `WEB-INF/lib` 目录下。 - **重写 DAO 组件**: - 使用 `...
Dynamic SQL 功能是 ibatis 中的一项重要特性,允许开发者根据运行时的条件动态构建 SQL 语句。本文将详细介绍 ibatis 中 Dynamic SQL 的使用方法,特别关注 `<dynamic>` 标签及其相关的子标签。 #### 二、Dynamic ...