iBatisNet 入门篇(DataMapper)
来源:互联网 发布:手机淘宝下拉不刷新 编辑:程序博客网 时间:2024/05/16 15:28
iBatisNet是一款轻量级的ORM开源框架,配置简单,上手容易。
iBatisNet的官方网址:http://ibatis.apache.org/dotnet.cgi
iBatisNet拥有两个工程:DataMapper和DataAccess,
DataMapper就相当于DAL(数据访问层),提供数据访问的接口。将SQL从原来硬编码中分离到.xml文件中去。
查询出来的结果通过Map, List, Object方式返回调用层。.NET 2.0推出之后,iBatisNet的DataMapper也支持了泛型,
具有了更强的类型支持。其简单易上手的动态SQL(通过xml标签来配置),使得iBatisNet更加灵活好用。
DataAccess则是临界于DAL和BLL(业务逻辑层)之间的,通过DataAccess你可以灵活的变化你的DAL,比如:
项目中同时要操作两个不同的DB。(可以是地址不同,或者是DB厂商不同)。DB的配置在providers.xml里,
DAL的配置在dao.config里。利用DataAccess,你可以使用DataMapper来操作DB,也可以使用自定的DAO对象来访问。
这也是特点之一。
先总结下 iBatisNet DataMapper 的配置:
1. 工程添加引用:
IBatisNet.Common.dll
IBatisNet.DataMapper.dll
2. 使用DataMapper, 需要添加配置文件:
SqlMap.config (配置SQL文件的存放位置方式,对应的DB类型,连接字符串)
providers.config(低层数据提供程序的DLL,不用特别关心)
详细说一下 SqlMap.xml 的配置。
整体:
<sqlMapConfig ... >
<!-- 2. 参数文件的配置 -->
<properties ... />
<!-- 3. 数据库提供程序文件的配置 -->
<provider ... />
<settings>
...
</settings>
<!-- 4. 数据库连接配置 -->
<database>
<provider ... />
<dataSource ... />
</database>
<!-- Sql Xml文件的配置 -->
<sqlMaps>
<sqlMap ... />
<sqlMap ... />
</sqlMaps>
</sqlMapConfig>
1) 项目参数的配置
当遇到多个地方使用的名称(属性)或者容易发生变更的名称(属性)的时候,可以用参数来配置。
比如:<dataSource connectionString="user id=${username};" />里的${username}
这样整个iBatis里都可以使用${username}这个参数了。
这样的参数是在参数文件里定义并赋值的,然后通过properties配置节引用进来。(2.参数文件的配置)
参数文件(比如:2.中的properties.config)中的格式如下:
<settings>
<add key="username" value="sa" />
</settings>
2) 参数文件的配置
properties配置节,配置SqlMap.xml以及其他Sql Xml中所使用到的项目参数。
有以下三种方式将指定的文件中配置的属性引用进来。
a) resource 方式(相对路径),会在Application目录下寻找并加载指定名字的配置文件。
<properties resource="properties.config" />
b) url 方式(绝对路径),会根据指定的url加载指定绝对路径的文件
<properties url="c:/Web/MyApp/Resources/properties.config" />
c) embedded 方式(嵌入资源),会在嵌入的资源中寻找并加载指定的配置文件
<properties embedded="Resources.properties.config, MyApp.Data" />
说明:properties.config文件放在工程的Resources目录下,且该文件的“生成操作”属性为“嵌入的资源”
3)数据库提供程序文件的配置
provider配置节,配置数据库提供程序集(dll)的信息。
和properties配置节一样,也有resource,url,embedded三种方式(1-2的a,b,c参考)。
对应的provider.config,可以从Ibatis.DataMapper.1.6.2.bin里拷贝出来使用。
例:<provider resource="provider.config" />
【注意】provider.config里要使用的数据提供程序集的enabled属性设为"true"
4. 数据库连接配置
database配置节,配置数据库相关信息。
5. typeHandler配置节
6. sqlMaps配置节(声明Sql文件的位置)
- iBatisNet 入门篇(DataMapper)
- IbatisNet源码解读 - DataMapper
- IbatisNet源码解读 - DataMapper
- Ibatisnet源码解读(2)—DataMapper
- 让IBatisNet支持DataTable,和分页(support DataMapper-1.5.1)
- DataMapper
- “IBatisNet.DataMapper.Exceptions.DataMapperException”类型的异常在 IBatisNet.DataMapper.dll 中发生,但未在用户代码中进行处
- iBatisNet入门示例源码详解
- IBatisNet的相关使用方法 - 入门
- iBatisNet入门示例源码详解
- iBatisNet系列-介绍篇
- 跟初学者学习IbatisNet第三篇
- Advanced Anypoint DataMapper Tutorial
- Ibatisnet介绍
- Ibatisnet介绍
- IBatisNet配置
- IBatisNet介绍
- IBatisNet配置
- 网络赚钱主要方法
- 学好VC++的十大良好习惯
- Windows平台创建Linux可用C++项目(转载,英文)
- 不在乱想 学习去吧!
- 闲话,我的编程小历史
- iBatisNet 入门篇(DataMapper)
- linux系统添加硬盘
- 钩子
- 设置标注为分数样式
- 有些事情不必强求,随缘就是好的-这篇才是“反正我信了”的原创啊,呵呵
- C#泛型: 消除Visitor模式的循环依赖, 以及无聊的Accept方法
- 读书笔记
- 软件开发的心得
- ERROR:ORA-28009: connection to sys should be as sy - [oracle10g]