- 浏览: 683029 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
Hippyqq:
谢谢很有用,
java中遍历MAP的几种方法 -
XSoftlab:
超详细。。。Java map 详解 - 用法、遍历、排序、常用 ...
java中遍历MAP的几种方法 -
bobo22:
importnet.sf.fmj.ui.application ...
java来调用电脑视频摄像头拍照进行截图 -
qq981378640:
#include <stdio.h>
int ...
c语言中unsigned类型和普通类型间的转换 -
qq981378640:
楼主你这样有点复杂了,直接这样写更好更方便
#include ...
c语言中unsigned类型和普通类型间的转换
IBatis 动态查询条件
下面这个配置基本上包含了最复杂的功能:分页\搜索\排序\缓存\传值Hash表\返回hash表\动态sql
<statement id="XinxiTable_SelectAll" listClass="ArrayList" resultMap="SimpleXinxi" parameterClass="Hashtable" cacheModel="xinxi-cache" >
SELECT
<dynamic prepend="top">
<isNotEqual prepend="top" property="TopNum" compareValue = "0">
$TopNum$
</isNotEqual>
</dynamic>
*
FROM
(select a.[iXinxiID],a.[sXinxiTitle],a.[iXinxiClassId],b.[sClassName],
a.[dXinxiDate],a.[dXinxiYxq],a.[iXinxiHits],a.[sXinxiUser],a.[sRedirectUrl],
ROW_NUMBER() OVER(
<dynamic prepend="order by">
<isEqual prepend="order by" property="Sort" compareValue = "0">
a.iXinxiID desc
</isEqual>
<isEqual prepend="order by" property="Sort" compareValue = "1">
a.iXinxiID asc
</isEqual>
<isEqual prepend="order by" property="Sort" compareValue = "2">
a.iXinxiHits desc
</isEqual>
<isEqual prepend="order by" property="Sort" compareValue = "3">
a.iXinxiHits asc
</isEqual>
</dynamic>
) as row
FROM
[dbo].[XinxiTable] as a,[dbo].[XinxiClass] as b
<dynamic prepend="where">
<isParameterPresent>
<isNotEmpty prepend="and" property="XinxiType" >
a.[iXinxiState]= $XinxiType$
</isNotEmpty>
<isNotEqual prepend="and" property="XinxiClass" compareValue = "0">
a.[iXinxiClassID]= $XinxiClass$
</isNotEqual>
<isEqual prepend="and" property="SearchType" compareValue = "1">
a.[sXinxiTitle] LIKE '%$Keyword$%'
</isEqual>
<isEqual prepend="and" property="SearchType" compareValue = "2">
(a.[sXinxiTitle] LIKE '%$Keyword$%' or a.[sXinxiContent] LIKE '%$Keyword$%')
</isEqual>
</isParameterPresent>
</dynamic>
and a.iXinxiClassId=b.iClassId
)a
<dynamic prepend="where">
<isParameterPresent>
<isEqual prepend="and" property="IsPage" compareValue = "1">
row between $PageLower$ and $PageUpper$
</isEqual>
</isParameterPresent>
</dynamic>
</statement>
ibatis动态查询条件:
<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>
下面这个配置基本上包含了最复杂的功能:分页\搜索\排序\缓存\传值Hash表\返回hash表\动态sql
<statement id="XinxiTable_SelectAll" listClass="ArrayList" resultMap="SimpleXinxi" parameterClass="Hashtable" cacheModel="xinxi-cache" >
SELECT
<dynamic prepend="top">
<isNotEqual prepend="top" property="TopNum" compareValue = "0">
$TopNum$
</isNotEqual>
</dynamic>
*
FROM
(select a.[iXinxiID],a.[sXinxiTitle],a.[iXinxiClassId],b.[sClassName],
a.[dXinxiDate],a.[dXinxiYxq],a.[iXinxiHits],a.[sXinxiUser],a.[sRedirectUrl],
ROW_NUMBER() OVER(
<dynamic prepend="order by">
<isEqual prepend="order by" property="Sort" compareValue = "0">
a.iXinxiID desc
</isEqual>
<isEqual prepend="order by" property="Sort" compareValue = "1">
a.iXinxiID asc
</isEqual>
<isEqual prepend="order by" property="Sort" compareValue = "2">
a.iXinxiHits desc
</isEqual>
<isEqual prepend="order by" property="Sort" compareValue = "3">
a.iXinxiHits asc
</isEqual>
</dynamic>
) as row
FROM
[dbo].[XinxiTable] as a,[dbo].[XinxiClass] as b
<dynamic prepend="where">
<isParameterPresent>
<isNotEmpty prepend="and" property="XinxiType" >
a.[iXinxiState]= $XinxiType$
</isNotEmpty>
<isNotEqual prepend="and" property="XinxiClass" compareValue = "0">
a.[iXinxiClassID]= $XinxiClass$
</isNotEqual>
<isEqual prepend="and" property="SearchType" compareValue = "1">
a.[sXinxiTitle] LIKE '%$Keyword$%'
</isEqual>
<isEqual prepend="and" property="SearchType" compareValue = "2">
(a.[sXinxiTitle] LIKE '%$Keyword$%' or a.[sXinxiContent] LIKE '%$Keyword$%')
</isEqual>
</isParameterPresent>
</dynamic>
and a.iXinxiClassId=b.iClassId
)a
<dynamic prepend="where">
<isParameterPresent>
<isEqual prepend="and" property="IsPage" compareValue = "1">
row between $PageLower$ and $PageUpper$
</isEqual>
</isParameterPresent>
</dynamic>
</statement>
ibatis动态查询条件:
<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>
发表评论
-
java应用CPU占用100%内存泄漏分析总结
2017-11-28 08:46 574转; http://www.blogjava.net/hank ... -
Java Mysql存取Blob数据
2014-10-21 12:54 1557当数据库字段为blob类型时 ,我们如果使用PreparedS ... -
关于日志的等级 的配置
2014-07-02 16:49 633#这里定义能显示到的最低级别,若定义到INFO级别,则看不到D ... -
Extjs中如何在一行textfield后面加几个字
2014-04-14 16:38 1530{ fieldLabel : '输入框', xtype : ' ... -
数据库中图片的操作(字节流的操作)
2013-12-09 17:26 829package com.fww.util; import j ... -
java 获得本地ip
2013-11-28 18:04 894Enumeration allNetInterfaces = ... -
java多线程下载的例子代码
2013-09-09 16:16 0java多线程下载的例子代码 import java.io.I ... -
java来调用电脑视频摄像头拍照进行截图
2013-09-09 15:34 10409packagecom.pengo.capture; i ... -
java中lucene解析word工具类
2013-09-09 15:32 1057java中lucene解析word工具类(读取word文档并查 ... -
Java 向oracle插入百万数据
2013-09-09 15:30 1553这里的表是没加索引的 ... -
java 写 excel
2013-08-28 10:29 983import java.io.FileOutputStream ... -
list 排序
2013-06-20 20:43 1086import java.util.Collections; i ... -
java抓取网络图片放到本地
2013-05-07 10:39 4298import java.io.BufferedInputStr ... -
java代码发送JSON格式的httpPOST请求
2013-05-06 13:41 20385package com.test; import java. ... -
java操作excel(HSSF样式) .
2013-04-15 15:06 1978java操作excel(HSSF样式一) import ja ... -
JAVA+Ftpclient操作
2013-03-07 16:35 6583最近再做个ftp上传、下载的项目,用到的包是sun.net.f ... -
自动消除文本框中的空格;js清除空格问题,去除空格问题
2013-03-01 11:22 6319自动消除文本框中的空格;js清除空格问题,去除空格问题 要完成 ... -
java执行Linux命令 .
2012-12-26 09:29 1301/** * 修改Linux目录权限 * @param ... -
UUID生成类
2012-12-16 18:18 2497import java.net.InetAddress; im ... -
java反射获得类的字段和值
2012-12-10 17:26 1638import java.util.HashMap; impo ...
相关推荐
iBatis 动态查询条件详解 iBatis 是一个基于 Java 的持久层框架,它提供了动态查询条件的功能,可以根据不同的条件生成不同的 SQL 语句。在 iBatis 中,动态查询条件是通过 `<dynamic>` 元素来实现的,该元素可以...
ibatis动态多条件组合查询 实例 说明
在描述中提到的"按条件查询",就是通过iBatis动态构建SQL语句来实现的。开发者可以在SQL Map中定义一个模板SQL,然后在Java代码中传入参数,iBatis会自动替换SQL中的占位符,生成实际的查询语句。这种方式既避免了硬...
iBatis动态SQL标签用法 iBatis是Java持久层框架,提供了动态SQL标签来实现动态查询。动态SQL标签可以根据不同的条件生成不同的SQL语句,从而提高查询效率和灵活性。 动态SQL片段 iBatis提供了动态SQL片段的功能,...
本文将深入探讨IBATIS动态查询语句的运用,解析其背后的逻辑与机制,以及如何利用这些特性来增强查询的灵活性与安全性。 ### IBATIS动态查询基础 IBATIS,现在更广为人知的名字为MyBatis,是一种半自动映射的持久...
以上内容详细介绍了 ibatis 中动态查询的基本原理及具体实现方法,包括模糊查询、多条件组合查询以及使用 Map 作为参数的高级用法。这些知识点对于深入理解 ibatis 的动态查询机制非常重要,可以帮助开发者更高效地...
"分页资料.txt", "ibatis 分页查询.txt"和"ibatis动态查询条件.txt"可能是关于如何在实际项目中实现分页查询和动态条件查询的具体示例或说明,帮助开发者更好地理解和应用上述概念。 总的来说,IBATIS SQL Maps提供...
首先,我们需要理解Ibatis动态SQL的基本概念。在Ibatis的XML映射文件中,我们可以通过条件标签来构建动态SQL。这些标签包括`<if>`, `<choose>`, `<when>`, `<otherwise>`, `<where>`, `<set>`, `<foreach>`等。它们...
在Ibatis中,复杂查询通常涉及到多个表的联接、条件动态拼接、子查询以及各种数据类型的处理。文档"Ibatis复杂查询语句.doc"所展示的查询语句就是一个很好的例子,展示了Ibatis如何处理复杂的数据库操作。接下来,...
根据提供的文档信息,我们可以深入探讨Ibatis框架中的一个具体应用场景:如何通过动态SQL查询特定条件下的ID列表。本文将从以下几个方面进行详细解析: ### 一、Ibatis简介 Ibatis是一个基于Java的持久层框架,它...
iBatis 中使用安全的拼接语句、动态查询、大于、小于、等于 iBatis 是一个流行的持久层框架,提供了许多强大的功能来帮助开发者构建高效、安全的数据库交互应用程序。本文将详细介绍 iBatis 中使用安全的拼接语句、...
iBATIS动态标签是SQL映射文件中的一种功能强大的特性,它允许在SQL语句中进行条件判断,根据传入的参数动态生成合适的查询条件。动态标签主要用于提高灵活性,使得SQL映射文件能够适应多种查询场景,而无需为每种...
-- 根据查询条件从类推数据表中查询数据 --> parameterClass="java.util.HashMap" resultClass="java.util.HashMap" remapResults="true"> select $fieldnames$ from $resourcetable$ where 1=1 ``` 这里的 ...
2. **动态SQL**:Ibatis的动态SQL功能可以进一步优化分页查询。通过`<if>`、`<choose>`等标签,可以在SQL中根据条件动态插入分页语句,使得SQL更加灵活。 3. **PageHelper插件**:为了简化分页操作,社区开发了...
本文将深入探讨iBATIS动态注入的相关知识点。 iBATIS动态SQL主要通过XML映射文件中的特定标签实现,允许我们根据业务需求动态地构建SQL语句。这些动态元素使得SQL语句可以根据传入的参数值动态地调整,避免了大量IF...
### ibatis and和or联合...这对于实现复杂的查询条件非常有用,特别是在处理大量参数和不确定条件的情况下。此外,通过设置 `open` 和 `close` 属性,可以确保生成的SQL语句结构正确,避免了手动拼接字符串带来的麻烦。
注意,iBatis还支持动态SQL,这意味着你可以在XML配置文件中使用`<if>`、`<choose>`、`<when>`等标签来根据条件动态构建SQL语句,这对于复杂的连接查询非常有用。 总的来说,iBatis提供了强大的SQL定制能力,使得...
在日常的软件开发过程中,尤其是在处理数据库查询时,我们经常面临一个问题:如何优雅地处理那些未知或动态变化的列名及列数的情况?在这种情况下,传统的实体类映射方式往往难以满足需求。本文将详细介绍如何利用 ...
在SQL映射文件中,可以使用动态SQL来处理复杂的查询条件,如`<if>`、`<choose>`、`<when>`、`<otherwise>`等标签。 2. 数据库代码规范: - 在编写SQL时,应避免使用全模糊匹配`LIKE '%text%'`,而应尽可能使用带有...
iBatis的动态SQL功能非常强大,可以通过`<if>`、`<choose>`、`<when>`、`<otherwise>`、`<where>`、`<set>`等标签编写条件语句,根据传入参数动态生成SQL。 ### 8. 使用`<foreach>`标签 `<foreach>`标签用于遍历...