iBatis.Net系列(六)-DataMap.xml

DataMap.xml文件是专门存放sql语句的文件,他们的命名一般与数据库表的命名一一对应,比如Student.xml,Course.xml
该文件还是有很多配置节点的,不过主要用的最多的是alias节点、statements节点,其他节点后面用到再讲。
1 alias节点 --配置别名
样例:
<alias>
<typeAlias alias="Student" type="IBNetModel.Student, IBNetModel" />
</alias>
前面我们讲过在sqlmap.config中也可以配置别名,不过在这里配置的别名是局部的,只能在这个文件中使用;而在sqlmap.config中配置的是全局的,所有文件通用。
2 statements节点 --配置所有的sql语句
样例:
<sqlMap namespace="Student" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<statements>
<select id="Select" parameterClass="int" resultClass="Student">
select * from student
</select>
<select id="SelectOne" parameterClass="int" resultClass="Student">
select * from student where id=#id#
</select>
</statements>
</sqlMap>
这是2条最简单的sql语句,我们在程序中通过select节点的id属性来引用相对于的sql语句,其中parameterClass代表传入参数的类型(这里是int类型),resultClass代表sql语句执行后返回数据的类型,这里使用了别名Student
如果你在sqlmap.config文件中这样配置:
<settings>
<setting useStatementNamespaces="true"/>
</settings>
那么你在程序中必须加上命名空间("Student.Select"或"Select.SelectOne")来引用相应的sql语句

至此我们项目的配置到此结束,接下来主要是程序和DataMap.xml文件来打交道了,因为程序要访问数据库,而DataMap.xml文件存储了所有的sql语句。项目配置完成后的结构是这样的

时间: 2024-12-21 19:18:45

iBatis.Net系列(六)-DataMap.xml的相关文章

Cocos2d-x 系列六之数据操作

一.定时器  在cocos2d-x中, 类似定时器的操作,不需要额外的写Timer,实际上,在Node元素中,已经添加了定时执行的功能: 先来看看在Node中的定义 // ... bool Node::isScheduled(SEL_SCHEDULE selector) { return _scheduler->isScheduled(selector, this); } void Node::scheduleUpdate() { scheduleUpdateWithPriority(0); }

Maven 系列 六 :将项目发布到私服

1 . 修改私服中仓库的部署策略 Release版本的项目应该发布到Releases仓库中,对应的,Snapshot版本应该发布到Snapshots仓库中.Maven根据pom.xml文件中版本号<version>节点的属性是否包含-SNAPSHOT,来判断该项目是否是snapshot版本.如果是snapshot版本,在执行mvn deploy部署命令时,maven会自动将项目发布到Snapshots仓库.要发布项目,首先需要将Releases仓库和Snapshots仓库的“Deploymen

C语言快速入门系列(六)

C语言快速入门系列(五) C语言指针加强 本节引言: 上一节我们对C语言中的指针进行了初步的了解,学习了指针的定义,与普通变量 一维数组,二维数组,字符串之间的使用!在本节中我们将会学习一些新的知识点, 函数,结构体与共用体,枚举类型以及类型定义符typedef! 本节学习路线图: 本节正文 函数 ps:空函数就是什么都不做的函数,开发过程中不需要马上实现的,先写空函数!简单的空函数:void abc(){   } 结构体 共用体: 代码示例2: 建立一个共用体类型,当输入的时学生类型时,要求输

【C++自我精讲】基础系列六 PIMPL模式

0 前言 很实用的一种基础模式. 1 PIMPL解释 PIMPL(Private Implementation 或 Pointer to Implementation)是通过一个私有的成员指针,将指针所指向的类的内部实现数据进行隐藏. 2 PIMPL优点 举例: //x.h class X { public: void Fun(); private: int i; //add int i; }; //c.h #include <x.h> class C { public: void Fun()

六、xml基础

笔记思维导图 一.表单提交方式 使用submit提交 使用button提交表单 使用超链接提交 二.xml的简介(了解) eXtensible Markup Language:可扩展标记型语言 标记型语言:html是标记型语言 也是使用标签来操作 可扩展 html里面的标签是固定的,每个标签都有特定的含义 <h1> <br/> <hr/> 标签可以自己定义,可以写中文的标签 <person></person>   <猫></猫&

iOS流布局UICollectionView系列六——将布局从平面应用到空间

iOS流布局UICollectionView系列六--将布局从平面应用到空间 一.引言 前面,我们将布局由线性的瀑布流布局扩展到了圆环布局,这使我们使用UICollectionView的布局思路大大迈进了一步,这次,我们玩的更加炫一些,想办法将布局应用的空间,你是否还记得,在管理布局的item的具体属性的类UICollectionViewLayoutAttributrs类中,有transform3D这个属性,通过这个属性的设置,我们真的可以在空间的坐标系中进行布局设计.iOS系统的控件中,也并非

Netty4.x中文教程系列(六) 从头开始Bootstrap

Netty4.x中文教程系列(六) 从头开始Bootstrap 其实自从中文教程系列(五)一直不知道自己到底想些什么.加上忙着工作上出现了一些问题.本来想就这么放弃维护了.没想到有朋友和我说百度搜索推荐了我的文章.瞬间有点小激动啊.决定自己要把这个教程系列完善下去.这里诚挚的想支持我的盆友们道歉.真的是让你们失望了.我居然有想放弃的这种丧心病狂的念头.以后绝对不会了. 其实伴随着对Netty的逐步深入学习.感觉自己对netty的了解仍然有所欠缺.加上笔者语文课是美术老师教的.所以..说多了都是泪

SNIFF(原始套接字系列六)

大家知道,以太网采用广播机制,所有与网络连接的工作站都可以看到网络上传递的数据.通过查看包含在帧中的目标地址,确定是否进行接收或放弃.如果证明数据确实是发给自己的,工作站将会接收数据并传递给高层协议进行处理.但是,如果让网卡置于混杂模式(Promiscuous mode),则网卡不会鉴别帧的MAC地址,而是一律接收. 上图给出了以太网的帧格式,网卡是通过图中的MAC地址进行ID标识的.传说中的网络嗅探(sniffer)就是指让网卡进入混杂模式从而接收正在局域网总线上发送的所有报文.为什么能够嗅探

智能路由器-OpenWRT 系列六 (远程迅雷离线下载)

OpenWRT 系列教程 智能路由器-OpenWRT 系列一 (OpenWRT 刷机) 智能路由器-OpenWRT 系列二 (OpenWRT初始配置) 智能路由器-OpenWRT 系列三 (OpenWRT安装LuCI&网络配置) 智能路由器-OpenWRT 系列四 (挂载移动设备) 智能路由器-OpenWRT 系列五 (NAS-SMB家庭共享) 智能路由器-OpenWRT 系列六 (远程迅雷离线下载) 下载 Xware1.0.31,参考地址 http://luyou.xunlei.com/thr