iBatisNet 入门篇(DataMapper)

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文件的位置)

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
IBatisNet.DataMapper 1.6.1.0之简单三层 首先介绍Solution的架构,一共分四个项目: Web :前台应用; BLL :业务处理层,如果嫌麻烦,可以再进一步抽象出来,然后将代码放置Web层的aspx.cs里面; Model :这个就不多说了,地球人都知道(数据实体类) SqlMaps:资源类,把配置文件和sql mapper文件全部打包起来。 二个文件夹: Include :iBatis.Net架构的dll文件 Log :放置log文件的文件夹,在web.config里配置 1.在一些特定的环境下,一站式的解决方案未必有效 系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几条Select SQL(或存储过程)以获取所需数据,具体的表结构不予公开。 开发规范中要求,所有牵涉到业务逻辑部分的数据库操作,必须在数据库层由存储过程实现。(银行大多有这样的限制) 系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。 2.iBATIS之于小型、简单系统:非常适用 iBATIS自己就很小并且简单 iBATIS不会对现存应用的设计或者数据库结构强加任何影响 iBATIS非常适合于有成长趋势的系统 3.iBATIS之于大型、企业级系统:为之而设计 iBATIS的某些特性使得它能够高效地处理大型数据集 iBATIS允许你用多种方式建立从对象到数据库的映射关系 MySpace已应用 4.使用于任何类型的关系数据库: 应用数据库 企业数据库 私有数据库 遗留数据库 简单性 性能 明确分工 可移植性:Java、.Net或者其他 开源 5.何时不该使用iBATIS 当你能永远拥有完全控制权 当你的应用需要完全动态的SQL 当你并没有使用关系数据库时 当iBATIS不起作用时

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值