动态查询条件
<select id="SelectEemployee" parameterClass="string" resultMap = "employee-result">
select * from employee
//动态SQL语句
<dynamic prepend="WHERE">
<isParameterPresent>
emp_id = #value#
</isParameterPresent>
</dynamic>
</select>
</statements>
</sqlMap>
/*动态SQL的写法:
开始 <dynamic
条件成立时前面要加的字符串 prepend ="字符串">
<属性关键字 (见下表)
prepend="字符串"
判断条件的对象属性名 property="字符串"
如果是属性关键字是比较条件时,字符串存放要比较的值compareValue="字符串">
要显示的条件名
</属性关键字>
结束</dynamic>
*/
/*动态SQL的参数有
属性关键字
含义
<isEqual>
如果参数相等于值则查询条件有效。
<isNotEqual>
如果参数不等于值则查询条件有效。
<isGreaterThan>
如果参数大于值则查询条件有效。
<isGreaterEqual>
如果参数等于值则查询条件有效。
<isLessEqual>
如果参数小于值则查询条件有效。如下所示:
<isLessEqual prepend = ”AND” property = ”age” compareValue = ”18” >
ADOLESCENT = ‘TRUE’
</isLessEqual>
<isPropertyAvailable>
如果参数有使用则查询条件有效。
<isNotPropertyAvailable>
如果参数没有使用则查询条件有效。
<isNull>
如果参数为NULL则查询条件有效。
<isNotNull>
如果参数不为NULL则查询条件有效。
<isEmpty>
如果参数为空则查询条件有效。
<isNotEmpty>
如果参数不为空则查询条件有效。参数的数据类型为Collection、String 时参数不为NULL或“”。如下所示:
<isNotEmpty prepend=”AND” property=”firstName” >
FIRST_NAME=#firstName#
</isNotEmpty>
<isParameterPresent>
如果参数类不为NULL则查询条件有效。
<isNotParameterPresent>
Checks to see if the parameter object is not present (null). Example Usage:
<isNotParameterPresent prepend=”AND”>
EMPLOYEE_TYPE = ‘DEFAULT’
</isNotParameterPresent>
eg1:
<select id="getList" resultMap="FriendResult">
select f.userid1,f.userid2,f.state1,f.subdate,f.cardno,b.grade,f.nickname,f.gender,f.age,f.city,b.username,b.userid,b.city,b.state,b.gender,b.cardno,d.* from friend f ,basicuserinfo b,detailuserinfo d where b.userid = f.userid2 and f.userid2=d.userid and f.state1=#state1#
<dynamic prepend="and">
<isNotEqual prepend="and" property="userid1" comparevalue="0">
f.userid1=#userid1#
</isNotEqual>
<isNotEqual prepend="and" property="userid2" comparevalue="0">
f.userid2=#userid2#
</isNotEqual>
</dynamic>
</select>
eg2:
<select id="getNewsList" resultMap="newsResult" parameterClass="map">
select NEWS_ID,BLOCK_ID,NEWS_TITLE,NEWS_CONTENT,NEWS_SECONDTITLE,NEWS_SUMMARY,NEWS_AUTHOR,NEWS_SOURCE,NEWS_ANNEX,NEWS_TIME,NEWS_OPEN,NEWS_KEYWORDS,NEWS_APPROVE,ISTOP,BROWSENUM,NEWS_COMMENT,NEWS_REFUSE,NEWS_AUDITOR,lasteditor,prjid,prjname,wsflag,MEM_NAME,LASTEDITTIME,ISBLOCKPIC from yc_news where BLOCK_ID = #blockid#
<dynamic prepend="ORDER BY">
<isNotEmpty property="orderstr">
$orderstr$
</isNotEmpty>
</dynamic>
</select>
分享到:
相关推荐
动态查询语句配置是Ibatis的一个重要特性,它允许我们在运行时根据业务需求构建灵活多变的SQL语句。这篇博文主要探讨的是如何在Ibatis中设置和使用动态SQL,以便实现更高效、更灵活的数据查询。 首先,我们需要理解...
7. **动态SQL**:iBATIS提供强大的动态SQL功能,例如`<if>`, `<choose>`, `<when>`, `<otherwise>`, `<where>`, `<set>`等标签,可以根据条件动态生成SQL。这使得你的映射文件更加灵活,减少了代码重复。 通过上述...
很好的spring+ibatis事务的配置文档.
ibatis配置文件中,可以看到关于ibatis事务管理器的配置。这里设置事务管理器类型为JDBC,表示ibatis将直接使用底层的JDBC连接进行事务控制,而不是使用Spring提供的事务管理器。 ```xml ``` ...
《IBatis.net 配置各种数据库详解》 在软件开发中,数据库的连接与操作是不可或缺的一环。IBatis.net,作为一个轻量级的持久层框架,为开发者提供了灵活的数据映射功能,使得数据库操作变得更为简单。本文将详细...
命名空间是iBatis配置中的一个重要概念,它用于区分不同的SQL映射文件。例如,`<sqlMap namespace="Account">`,在这个命名空间内定义的所有SQL语句和其他元素都属于Account模块。如果要在其他地方引用这个命名空间...
标题 "ibatis UPDATE 动态XML与insert" 涉及到的是MyBatis框架中对数据库数据进行更新(UPDATE)和插入(INSERT)操作的动态XML配置方式。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,...
### ibatis配置文件详解 #### 一、ibatis概述 ibatis,又称MyBatis,是一种优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。ibatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。ibatis可以...
iBatis配置允许使用动态SQL标签来根据Java对象的属性生成日期范围查询条件,如文档中所示的日期范围查询。 通过上述知识点,我们可以了解到iBatis框架在配置和使用时如何帮助开发者实现数据的插入、查询、更新和...
`sqlMapConfig.xml`文件是Ibatis的全局配置,它引用了`book.xml`,并设置了一些Ibatis的配置选项,如缓存和动态代理的启用。 综上所述,Ibatis通过配置文件和Pojo类实现了`book`和`user`之间的多表查询。在运行时,...
一、Ibatis配置文件 Ibatis的主要配置文件是`mybatis-config.xml`,它是整个系统的全局配置文件。这个文件中包含了数据源、事务管理器、环境配置、Mappers等重要元素的定义。例如: ```xml ...
iBatis还支持动态SQL,使得在XML映射文件中构建复杂的查询变得非常灵活。比如,你可以根据参数是否为空来决定是否包含某个条件,这在处理模糊查询时尤其有用。 标签"源码"和"工具"暗示了这篇博客可能深入讲解了...
iBatis是一个轻量级的Java持久层框架,它与Hibernate相比,更加灵活,适合于对数据库...通过学习和实践,你可以掌握如何利用iBatis编写动态SQL,处理查询条件,以及如何进行分页查询,这些都是在开发中非常实用的技能。
-- 通过文件路径指定iBatis配置文件 --> <value>/WEB-INF/SqlMapConfig.xml ``` #### iBatis事务管理配置 最值得关注的部分是iBatis的事务管理配置,这里明确指定了事务管理器的类型为`JDBC`,并且定义了...
### ibatis配置文件信息 #### 一、简介 在Java开发领域中,ibatis(现称为MyBatis)是一款优秀的持久层框架,它通过XML或注解的方式将接口方法与SQL语句绑定起来,实现对象关系映射(ORM)功能。ibatis的主要优势...
ibatis 实例 配置 源码 依赖包 ibatis-2.3.4.726.jar commons-logging-api.jar commons-logging-1.1.jar commons-dbcp-1.2.2.jar commons-pool.jar
此文本主要是关于ibatis总配置和映射配置和一些需要主要的细节。
#### 二、iBATIS配置文件详解 iBATIS的配置文件主要通过XML格式来定义,其中包含了全局设置、事务管理器、数据源等关键组件的配置。 ##### 2.1 配置文件结构 ```xml <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis....