- 浏览: 55133 次
- 性别:
- 来自: 广州
文章分类
文章转自:
http://xueliang1yi.blog.163.com/blog/static/114557016201002984135366/
&<dynamic>标签
§二元标签
§一元标签
§<iterate>标签
§ 共同的属性 prepend,open,close
<dynamic>标签
§<dynamic>标签
§属性 prepend,open,close
二元条件标签
§<isEqual property=“age” compareValue=“20”>
比较属性值和静态值或另一个属性值是否相等
§<isNotEqual>
比较属性值和静态值或另一个属性值是否不相等。
§<isGreaterThan>
比较属性值是否大于静态值或另一个属性值。
§<isGreaterEqual>
比较属性值是否大于等于静态值或另一个属性值。
§<isLessThan>
比较属性值是否小于静态值或另一个属性值。
§<isLessEqual>
比较属性值是否小于等于静态值或另一个属性值。
一元条件标签
§<isPropertyAvailable>
检查是否存在该属性(存在parameter bean的属性)
§<isNotPropertyAvailable>
检查是否不存在该属性(不存在parameter bean的属性)
§<isNull>
检查属性是否为null
§<isNotNull>
检查属性是否不为null
§<isEmpty>
检查Collection.size()的值,属性的String或String.valueOf()值,是否为null或空(“”或size() < 1)
§<isNotEmpty>
检查Collection.size()的值,属性的String或String.valueOf()值,是否不为null或不为空(“”或size() > 0)
其他标签
§<isParameterPresent>
检查是否存在参数对象(不为null)
§<isNotParameterPresent>
检查是否不存在参数对象(参数对象为null)
§<iterate>
遍历类型为java.util.List的元素。
view plaincopy to clipboardprint?
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap>
<!-- 动态查询1-->
<select id="getOrders1" parameterClass="com.air.Account"
resultClass="com.air.Product">
SELECT
orders.id as id,
orders.product as product,
orders.customer as customer
FROM orders
<dynamic prepend=" WHERE ">
<isNull property="username">customer IS NOT NULL</isNull>
<isNotNull property="username">
orders.customer=#username#
</isNotNull>
</dynamic>
</select>
<!-- 动态查询2-->
<select id="getOrders2" parameterClass="com.air.Account"
resultClass="com.air.Product">
SELECT
o.id as id,
o.product as product,
o.customer as customer
FROM orders o
<isNotNull property="username">
INNER JOIN user_account a ON o.customer=a.username
</isNotNull>
<dynamic prepend="where ">
<isNotEmpty property="groupname" prepend="and " open="(" close=")">
a.groupname=#groupname#
</isNotEmpty>
</dynamic>
</select>
<!-- 动态查询3-->
<select id="getOrders3" parameterClass="com.air.Product"
resultClass="com.air.Product">
SELECT
orders.id as id,
orders.product as product,
orders.customer as customer
FROM orders
<dynamic prepend="WHERE ">
<isNotEmpty property="product" prepend="and" open="(" close=")" removeFirstPrepend="true">
product=#product#
</isNotEmpty>
<isNotEmpty property="customer" prepend="and" open="(" close=")">
customer=#customer#
</isNotEmpty>
</dynamic>
</select>
<!-- 动态查询4-->
<select id="getOrders4" parameterClass="com.air.Product"
resultClass="com.air.Product">
SELECT
*
FROM orders
<dynamic prepend="WHERE ">
<iterate property="keywords" open="(" close=")" conjunction="OR">
product=#keywords[]#
</iterate>
</dynamic>
<!-- <dynamic prepend="WHERE product IN ">-->
<!-- <iterate property="keywords" open="(" close=")" conjunction=","> -->
<!-- #keywords[]#-->
<!-- </iterate>-->
<!-- </dynamic>-->
</select>
</sqlMap>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap>
<!-- 动态查询1-->
<select id="getOrders1" parameterClass="com.air.Account"
resultClass="com.air.Product">
SELECT
orders.id as id,
orders.product as product,
orders.customer as customer
FROM orders
<dynamic prepend=" WHERE ">
<isNull property="username">customer IS NOT NULL</isNull>
<isNotNull property="username">
orders.customer=#username#
</isNotNull>
</dynamic>
</select>
<!-- 动态查询2-->
<select id="getOrders2" parameterClass="com.air.Account"
resultClass="com.air.Product">
SELECT
o.id as id,
o.product as product,
o.customer as customer
FROM orders o
<isNotNull property="username">
INNER JOIN user_account a ON o.customer=a.username
</isNotNull>
<dynamic prepend="where ">
<isNotEmpty property="groupname" prepend="and " open="(" close=")">
a.groupname=#groupname#
</isNotEmpty>
</dynamic>
</select>
<!-- 动态查询3-->
<select id="getOrders3" parameterClass="com.air.Product"
resultClass="com.air.Product">
SELECT
orders.id as id,
orders.product as product,
orders.customer as customer
FROM orders
<dynamic prepend="WHERE ">
<isNotEmpty property="product" prepend="and" open="(" close=")" removeFirstPrepend="true">
product=#product#
</isNotEmpty>
<isNotEmpty property="customer" prepend="and" open="(" close=")">
customer=#customer#
</isNotEmpty>
</dynamic>
</select>
<!-- 动态查询4-->
<select id="getOrders4" parameterClass="com.air.Product"
resultClass="com.air.Product">
SELECT
*
FROM orders
<dynamic prepend="WHERE ">
<iterate property="keywords" open="(" close=")" conjunction="OR">
product=#keywords[]#
</iterate>
</dynamic>
<!-- <dynamic prepend="WHERE product IN ">-->
<!-- <iterate property="keywords" open="(" close=")" conjunction=","> -->
<!-- #keywords[]#-->
<!-- </iterate>-->
<!-- </dynamic>-->
</select>
</sqlMap>
发表评论
-
oracle数据库导入导出
2012-03-30 21:39 636转自:http://www.cnblogs.com/fjfzh ... -
db2日常维护资料
2011-07-01 13:57 1520转自:http://bbs.51cto.com/t ... -
db2错误码及状态一览表
2010-12-29 10:45 4463操作数据库过程中,遇到许多问题,很多都与SQL CODE和SQ ... -
oracle错误码大全2
2010-12-29 10:45 2658ORA-01200: 的实际文件大 ... -
db2表空间
2010-09-16 13:28 1222转自:http://bbs.chinaunix.net/thr ... -
db2日期操作函数
2010-08-31 20:10 739转:http://hi.baidu.com/%D3%F ... -
数据库基本知识一
2010-05-09 16:52 1067一、 数据库 ... -
一条SQL的疑问
2010-03-04 13:42 752今天遇到了一个问题,查了一下SQL的执行顺序。http://w ... -
比较有用的学习网站
2010-02-04 11:34 719Oracle学习网站: Oracle概念:http://www ... -
Group by的使用
2010-02-02 10:51 727对于group by 的使用,有点模糊,现在再网站上看到了一篇 ...
相关推荐
自己整理的非常好用 好东西向大家分享 └ ^o^ ┘
NULL 博文链接:https://duqiangcise.iteye.com/blog/286764
主要是关于oracle ibatis 的一些sql
ibatis的dynamicSQL中,关于prepend的使用
网上很难找到很全的介绍ibatis标签的电子书 直接阅读dtd文件,我认为是个不错的学习办法 也可以导入eclipct,方便开发 希望大家喜欢
书中既详实地介绍了iBATIS的设计理念和基础知识,也讨论了动态SQL、高速缓存、DAD框架等高级主题,还讲解了iBATIS在实际开发中的应用。书的最后给出了一个设计优雅、层次清晰的示例程序JGameStore,该示例涵盖全书的...
ibatis_SqlMap的配置,SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的70%的工作量。
1)、访问存储过程(或函数)一般以procedure标签来定义statement。 (2)、输入输出的参数需要用parameterMap标签单独定义。 (3)、区分输入输出参数用parameter标签的mode属性来定义,分别为”OUT”和”IN”...
ibatis 分页功能,使用了标签page.tld。本代码不能单独运行,技术能力欠缺或者代码阅读能力不是很好的朋友,请勿下载。
eclipse工程,工程中所用到library在lib文件夹下,建表的语句在工程文件下person.sql
一键转换,不用自己再手动替换标签
底层 到 页面展示 , dao层 service层 action层 到tld 到jsp都是、已经写好 你只要调用就可以。非常好用的jsp分页标签(如果不明白的地方,可以私聊我)
使用动态查询是iBatis一个非常强大的功能。有时你已经改变WHERE子句条件的基础上你的参数对象的状态。在这种情况下的iBATIS提供了一组可以映射语句中使用,以提高SQL语句的重用性和灵活性的动态SQL标签。
rt简例 20202020202020202020
IBATIS开发指南:sql map,sqlmap配置文件标签集属性等举例和讲解。
ibatis标签提示工具 sql-map-2.dtd
使用springMvc为框架基础结合ibatis作为持久层,easyui作为前台框架并运用了jstl的标签库,加入了comet4j来实现实时推送
NULL 博文链接:https://88548886.iteye.com/blog/1677088
ibatis的dtd约束,版本2,xml文件中标签提示,网址:http://ibatis.apache.org/dtd/sql-map-2.dtd