iBatis.Net系列(十)-范围查询

情况一:查询类似 id>13 and id<15 这样的语句
<select id="SelectStudentRange" parameterClass="Hashtable" resultClass="Student">
select * from student
<dynamic prepend="where">
<isGreaterEqual prepend="and" property="id1" compareValue="0" >
<![CDATA[id>=#id1#]]>
</isGreaterEqual>
<isGreaterEqual prepend="and" property="id2" compareValue="0">
<![CDATA[id<=#id2#]]>
</isGreaterEqual>
</dynamic>
</select>
参数使用了Hashtable,
因为像"<",">"这样的符号在xml文档中是有意义的,所以使用了<![CDATA[ sql语句写在这里 ]]>这样的语句包起来转义
Student类中的方法
public IList<Student> SelectRange(Hashtable ht)
{
return mapper.QueryForList<Student>("SelectStudentRange", ht);
}
调用
ht.Add("id1", 13);
ht.Add("id2", 15);
IList<Student> s1 = new Student().SelectRange(ht); //select * from student where id>13 and id<15

情况二:查询类似 id in(13,14) 这样的语句
<select id="SelectStudentRange1" resultClass="Student">
select * from student
<dynamic prepend="where">
    <iterate open="id in(" close=")" conjunction=",">
    #[]#
   </iterate>
</dynamic>
</select>
<iterate>节点是一个递归语法,递归的开始用open,结束用close,中间用,相隔
#[]# 就代表数组的每一项了
Student类中的方法
public IList<Student> SelectRange1(int[] ids)
{
return mapper.QueryForList<Student>("SelectStudentRange1", ids);
}
调用
IList<Student> s = new Student().SelectRange1(new int[] { 13, 14 }); //select * from student where id in(13,14)

时间: 2024-10-13 15:23:35

iBatis.Net系列(十)-范围查询的相关文章

SQL Server 2008空间数据应用系列十二:Bing Maps中呈现GeoRSS订阅的空间数据

原文:SQL Server 2008空间数据应用系列十二:Bing Maps中呈现GeoRSS订阅的空间数据 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测. 2.具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验. 3.熟悉或了解Microsoft SQL Server 2008中的空间数据类型. 4.具备相应(比如OGC规范.KML规范)的GIS专业理论知识.

SQL Server 2008空间数据应用系列十:使用存储过程生成GeoRSS聚合空间信息

原文:SQL Server 2008空间数据应用系列十:使用存储过程生成GeoRSS聚合空间信息 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测. 2.具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验. 3.熟悉或了解Microsoft SQL Server 2008中的空间数据类型. 4.具备相应(比如OGC规范.KML规范)的GIS专业理论知识. 5.其他相

S3C2416裸机开发系列十八_音频驱动实现(1)

S3C2416裸机开发系列十八 音频驱动实现(1) 象棋小子    1048272975 在消费电子产品中,往往都会用到音频系统来播放音乐.进行通话等多媒体应用,此外,对于一些需语音提示的产品,音频部分都是不可或缺的功能.笔者此处就s3c2416的音频驱动实现作一个简单的介绍. 1. IIS音频总线 s3c2416支持IIS.PCM.AC97这三种音频接口,此处只分析IIS音频接口.IIS接口(Inter-IC Sound)在20世纪80年代首先被飞利浦公司用于消费音频,为数字音频设备之间的音频

S3C2416裸机开发系列十四_GCC下UCGUI的移植(1)

S3C2416裸机开发系列十四 GCC下UCGUI的移植(1) 象棋小子    1048272975 GUI(图形用户界面)极大地方便了非专业用户的使用,用户无需记忆大量的命令,取而代之的是可以通过窗口.菜单.按键等方式进行操作.在某些场合,设计一款人机界面丰富友好的嵌入式产品能赢得更多的用户.笔者此处就s3c2416基于UCGUI图形用户界面的使用作一个简单的介绍. 1. 代码准备 UCGUI 3.98源码,这个版本的UCGUI是开放源码的最高版本,之后版本只提供库文件,不再开源.笔者以UCG

Exchange Server2013 系列十:证书的配置

杜飞 经过前面的配置,基本上可以进行简单的邮件通讯了,但是当用户通过OWA连接邮箱时会报下面的提示: 其他一些服务,如 Outlook Anywhere 和 Exchange ActiveSync,也要求在 Exchange 2013 服务器上配置证书.下面咱们就看一下证书的配置: 首先,我们需要安装内部CA.在此,我就在DC01上安装CA. 选择 AD证书服务,如下图所示: 然后,连续下一步之后,选中下图所示的证书颁发机构和证书颁发机构WEB注册. 稍等片刻之后,等证书颁发机构安装成功.接下来

struts2官方 中文教程 系列十二:控制标签

介绍 struts2有一些控制语句的标签,本教程中我们将讨论如何使用 if 和iterator 标签.更多的控制标签可以参见 tags reference. 到此我们新建一个struts2 web 项目:struts_basic2 本帖地址:struts2官方 中文教程 系列十二:控制标签 即 http://www.cnblogs.com/linghaoxinpian/p/6941683.html 下载本章节代码 struts2 if标签 我们在thankyou.jsp中添加如下代码: <s:i

Web前端开发人员和设计师必读文章推荐【系列十】

<Web前端开发人员和设计师必读文章推荐系列十>给大家带来最近两个月发布在<梦想天空>的优秀文章,特别推荐给 Web 开发人员和设计师阅读.梦天空博客关注 前端开发 技术,展示最新 HTML5 和 CSS3 技术应用,分享实用的 jQuery 插件,推荐优秀的 网页设计 案例,共享精美的设计素材和优秀的 Web 开发工具.希望这些文章能帮助到您. HTML5 & CSS3 应用 2012五大主流浏览器 HTML5 和 CSS3 兼容性大比拼 不可思议!23个纯 CSS3 打

iPhone系列设备媒体查询:

这就引出一个问题,我们在对iPhone设备适配时候,又多出几种情况.iPhone系列设备媒体查询: @media only screen and (min-device-width: 320px){ //针对iPhone 3 } @media only screen and (min-device-width: 320px)and (-webkit-min-device-pixel-ratio: 2) { //针对iPhone 4, 5c,5s, 所有iPhone6的放大模式,个别iPhone6

Exchange Server 2013系列十二:邮箱的基本管理

杜飞 邮箱是 Exchange 组织中信息工作人员最常用的收件人类型.每个邮箱都与一个 Active Directory 用户帐户关联.用户可以使用邮箱发送和接收邮件,并可以存储邮件.约会.任务.便笺和文档.邮箱是 Exchange 组织中用户的主要邮件传递和协作工具.每个邮箱由 Active Directory 用户以及存储在 Exchange 邮箱数据库中的邮箱数据组成(如下图所示).邮箱的所有配置数据都存储在 Exchange 用户对象的 Active Directory 属性中.邮箱数据