IBatis的动态SQL的写法

Ⅰ 、动态SQL的写法

开始 <dynamic 条件成立时前面要加的字符串 prepend ="字符串">

prepend="字符串"

判断条件的对象属性名 property="字符串"

如果是属性关键字是比较条件时,字符串存放要比较的值compareValue="字符串">

结束 </dynamic>

Ⅱ、动态SQL的标签

一元标签

<iterate>标签

共同的属性 prepend,open,close

二元标签

<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则查询条件有效。

时间: 2024-10-03 22:49:04

IBatis的动态SQL的写法的相关文章

IBatis.net动态SQL语句

在学习动态SQL语句之前,首先必须对条件查询有一定了解,先来学习如何向IBatis.Net的映射文件里传入参数. 一.条件查询 1.传递单个参数 如根据Id查询: <select id="SelectPersonById" resultMap="Person" parameterClass="Int32" > SELECT * FROM Person WHERE Id = #Id# --这样传入一个参数 </select>

ibatis的动态sql

1.介绍 1 <select id="getUsers" 2 3 parameterClass="user" 4 5 resultMap="get-user-result"> 6 7 select 8 9 id, 10 11 name, 12 13 sex 14 15 from t_user 16 17 <dynamic prepend="WHERE"> 18 19 <isNotEmpty pre

ibatis实现动态sql处理

package base; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.ResultSet; import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Map; import javax.annotati

MyBatis 和 ibatis的动态SQL语句配置符号,不兼容大于号、小于号等特殊符号问题 X

TEST 在XML映射SQL的文件中,很多情况下会使用到大于号.小于号等特殊符号,这时候如果不进行控制是无法编译通过的,这时候需要用到<![CDATA[  ]]>符号进行说明,将此类符号不进行解析,其实,这个问题不止在MyBatis上通用,而是它通用于任何XML的文件中使用,比如Hibernate.Wabacus.Spring等等等等配置文件中,只要是XML文件就行,此类问题在以后的工作中,经常使用. 案例代码 <select id="findAllKiaAnalysisByC

iBatis动态SQL标签用法

1.动态SQL片段 通过SQL片段达到代码复用 <!-- 动态条件分页查询 -->         <sql id="sql_count">                 select count(*)         </sql>         <sql id="sql_select">                 select *         </sql>         <sql i

ibatis 动态SQL

直接使用JDBC一个非常普遍的问题就是动态SQL.使用参数值.参数本身和数据列都是动态SQL,通常是非常困难的.典型的解决办法就是用上一堆的IF-ELSE条件语句和一连串的字符串连接.对于这个问题,Ibatis提供了一套标准的相对比较清晰的方法来解决一个问题,这里有个简单的例子: <select id="getUserList" resultMap="user"> select * from user <isGreaterThan prepend=

IBATIS动态SQL

直接使用JDBC一个非常普遍的问题就是动态SQL.使用参数值.参数本身和数据列都是动态SQL,通常是非常困难的.典型的解决办法就是用上一堆的IF-ELSE条件语句和一连串的字符串连接.对于这个问题,Ibatis提供了一套标准的相对比较清晰的方法来解决一个问题,这里有个简单的例子: <select id="getUserList" resultMap="user"> select * from user <dynamic prepend="

ibatis动态sql配置启动时提示:The content of elements must consist of well-formed character data...

ibatis动态sql配置启动时提示:The content of elements must consist of well-formed character data... 2012-07-18 11:21wuming3632171 | 浏览 5114 次 ibatis配置如下,高手帮我看看.<select id="exportRecieveData" parameterClass="java.util.HashMap"resultClass="

动态语句SQL语句写法

/****************************************************************************************************************************************************** 动态语句语法:exec/sp_executesql语法 整理人:中国风(Roy) 日期:2008.06.06 *******************************************