IBatisNet使用教程

   1、是数据持久层,对应.NET方向的有Ibatis.NET,只要用来处理数据库表结构和程序实体之间映射,ado.net是用来处理和数据库直接通信的,取出数据(object,int,string,dataset,datatable等常规类型),通常程序中如果用到MOEDL实体,都需要手动写代码去做类型转换(把datatable的字段赋值到model对应字段),用了数据持久层,这一部就可以省略了,Ibatis.NET可以直接把数据库表字段映射为实体模型,操作简便了。

  2、IBatis.net 是2001年发起的开源项目,它是一个轻量级的ORM框架,现在IBatisNET已经是属于Apache下的一个子项目了。

  3、DataMapper:通过配置映射关系的xml业务对象与SQL语句和存储过程进行映射.

  4、DataAcces:简单的说就是IBatis的数据访问层.

  板块管理 填写版跨信息 选择板块 判断信息是否正确 修改板块信息 是否删除 新增板块 删除板块

  5、 平常做企业级应用,需求变化是经常的事,而很多基础代码重复也是很让人头疼的问题。所以很多人会使用一些ORM框架来增强项目的可维护性、可扩展性。IBatis.Net就是一个比较易用的ORM框架,使用起来较为方便、灵活。IBatis.Net是从Ibatis的Java版本移植过来的.NET版本。iBATIS作为一种独特的Data Mapper,使用SQL映射的方式将对象持久化至关系型数据库。简单的理解就是它将我们在数据访问层实现的C#逻辑代码,变为通过关系数据库与对象的映射,将SQL逻辑放到外部的XML配置文件中,以方便以后的维护。

  这个框架有两个主要的组成部分,一个是SQL Maps,另一个是Data Access Objects。Sql Maps是这个框架的核心部分,通过使用Sql Maps你可以显著的节约数据库操作的代码量。SQL Maps使用一个简单的XML文件来实现从实体到SQL statements的映射。使用DAO,封装了对数据的访问,你可以动态配置你的应用程序来访问不同的实体存储机制。隐藏持久性层实现的细节,Data Access Objects允许你通过一个简单接口的来操作数据。

IBatisNet 逻辑结构

1、新建项目

2、在项目中添加dll文件

IBatisNet.Common.dll

IBatisNet.DataMapper.dll

IBatisNet.DataAccess.dll

3、在项目中添加配置文件 SqlMap.config

<?xml version="1.0" encoding="utf-8"?>
<sqlMapConfig
  xmlns="http://ibatis.apache.org/dataMapper"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <!-- 常量属性,resource 通过单独文件properties.config加载-->
  <!--<properties resource="properties.config"/>--> <!--这个东西是变量用的,这里以最简单的实现说明,因此注释-->
   <!-- 常量属性,embedded 通过程序集资源中 加载
    <properties embedded="database.config, IBatisNetDemo"/>-->

  <settings>
    <setting useStatementNamespaces="true"/>   <!--是否启用命名空间-->
  </settings>

  <providers resource="providers.config"/>   <!--引入数据库驱动文件-->

    <!-- Database connection information -->
  <!--数据库连接字符串-->
    <!--<database>
        --><!--<provider name="sqlServer2.0"/>
        <dataSource name="IBatisNet" connectionString="Data Source=DESKTOP-1ORC3PV;Initial Catalog=test;Integrated Security=True"/>--><!--
    <provider name="oracleClient1.0"/>
      <dataSource name="IBatisNet" connectionString="Data Source=LHORCL;Persist Security Info=True;User ID=linsiontest;Password=123456;Unicode=True" providerName="System.Data.OracleClient"/>
  </database>-->
  <database>
    <provider name="OracleClient2.0"/>
    <dataSource name="orcl" connectionString="Data Source=HDORCL;Persist Security Info=True;User ID=oa;Password=oa;Unicode=True"/>
  </database>

    <sqlMaps>  <!--节点就是配置一些sql语句以及实体映射的xml文件-->
    <sqlMap resource="Maps/Account.xml" /> <!--这个是指定映射文件的位置-->
    </sqlMaps>

</sqlMapConfig>  

节点说明

① properties 节点

可以根据需要配置一些常量属性。如果这些属性有很多的话可以单独写一个文件里面,再通过resource(或url, embedded分别是引用url和编译在程序中的资源文件)属性引用进来。


参数


描述


resource


指定the properties文件从application的根目录进行加载

resource="properties.config"


url


指定the properties文件从文件的绝对路径进行加载

url="c:\Web\MyApp\Resources\properties.config"

或者

url="file://c:\Web\MyApp\Resources\properties.config"


embedded


指定文件可以作为程序集的资源文件进行加载‘

embedded=" database.config, IBatisNetDemo”

②setting节点


参数


描述


cacheModelsEnabled


是否启用sqlMap上的缓存机制

Example: cacheModelsEnabled=”true”

Default: true (enabled)


useStatementNamespaces


是否使用Satement命名空间,这里的命名空间指的是映射文件中sqlMap节点的namespace属性

Example: useStatementNamespaces=”false”

Default: false (disabled)


validateSqlMap


是配置要不要启示SqlMapConfig.xsd schema验证映射文件.

Example: validateSqlMap=”false”

Default: false (disabled)

③provider节点

配置数据驱动提供类配置文件的路径和文件名,通过resource(或url, embedded分别是引用url和编译在程序中的资源文件)属性引用进来,参数的含义同properties。

ADO.NET是通过数据访问提供程序(Provider)访问数据库。IBatisNet使用的是插件式结构来使用这些数据库提供程序,每一个Provider对应于providers.config文件中定义的一个provider项。 通过设置这个文件中的几个参数来决定使用哪个数据库提供程序。

提供程序要求安装相关类库,每一个provider 元素都有"enabled" 属性来控制是否启用个providers. 一个provider 可以通过 “default“属性标识为默认的提供程序。

④database节点

数据库的信息,包括使用哪些数据库驱动和数据连接字符串的配置。

⑤typeHandler节点

定义数据库类型到dotnet数据类型的处理,不同的数据库都有一些特殊的数据库字段类型需要特殊处理,就可以通过这个功能实现。比如说Blob字段在不同的数据库中处理不一样。大家可以去看看Ibatisnet源代码就清楚这个功能的实现原理,对于我们的设计会有很大的启发

⑥salMaps

sqlMap节点指定了映射文件的位置,配置中可以出现多个sqlMap节点,以指定项目内所包含的所有映射文件。

4、创建实体类

定义实体类,该对象类将与数据库进行映射。

5、添加映射文件

相对于Nhibernate等ORM实现来说,IBatisnet的映射配置更为直接,下面是配置文件内容:

时间: 2024-12-22 05:34:24

IBatisNet使用教程的相关文章

IbatisNet初学者教程

一.什么是 IbatisNet   : 应该有很多人都听说过Ibatis吧,没错IbatisNet就是Ibatis在.net上的一个移植版本,所以它们俩基本是差不多的.所以IbatisNet自然也是一个轻量级的ORM框架,于是我们又想起来了hibnate和Nhibnate,学习了IbatisNet  ,我会与 Nhibnate做一个简单的对比. 严格的来说IbatisNet并不是一种很正统的ORM解决方案.因为它不像NHibernate那样,具备全自动的数据操作,包括查询,插入,更新,删除,也没

Windows Git+TortoiseGit简易使用教程

转载自 http://blog.csdn.net/jarelzhou/article/details/8256139 官方教程:http://tortoisegit.org/docs/tortoisegit/(英文版) 为什么选择Git 效率 很多人有一种习惯吧,什么软件都要最新的,最好的.其实吧,软件就是工具,生产力工具,为的是提高我们的生产力.如果现有的工具已经可以满足生产力要求了,就没有必要换了.生产效率高低应当是选择工具的第一位. 历史 开源世界的版本控制系统,经历了这么几代: 第一代,

微信公众号中添加外部链接地址的图文教程

2017-9-18,长沙,有点闷,有点热. 本教程教大家如何在微信公众号中,添加外部的链接,网络有很多教程,但由于表述不太清楚,出个教程吧.最终实现在微信后台管理平台"原文链接"处插入外部链接,用户点击发布好的图文文章底部左下角的"阅读原文",就可以跳转到您添加的外部链接页面中去. 第1步. 使用微信公众管理帐号登陆微信管理后台 > 素材管理 > 图文消息 >  新建图文消息或者编辑文章都可以,如下图所示: 第2步. 之后,将页面向下拉,看到底部&

win2003从组策略关闭端口(445/135/137/138/139/3389等)教程

一些恶劣的病毒会从某些端口入侵计算机,因此关闭某些用不到的而又具有高风险的端口就显得很有必要,是服务器管理员要做的基本的安全防范.本文将介绍win2003系统在组策略关闭某一个端口的教程,文章以关闭445端口为例. 首先要说明的是,此方法不仅仅适用于win2003,也适用于win7,且操作方法完全相同,所以win7用户也可以按照本文教程操作. 1.打开组策略编辑器 按组合键WIN+R打开运行窗口,然后输入gpedit.msc,按回车键,即可进入组策略编辑器. 2.创建 IP 安全策略 展开选项"

微信小程序实例教程(一)

序言 开始开发应用号之前,先看看官方公布的「小程序」教程吧!(以下内容来自微信官方公布的「小程序」开发指南) 本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果.这个小程序的首页将会显示欢迎语以及当前用户的微信头像,点击头像,可以在新开的页面中查看当前小程序的启动日志. 1. 获取微信小程序的 AppID 首先,我们需要拥有一个帐号,如果你能看到该文档,我们应当已经邀请并为你创建好一个帐号.注意不可直接使用服务号或订阅号的 AppID. 利用提供的帐号,登录https

SQL Server2005安装材料及教程编制

首发:https://www.douban.com/note/579628972/ 系统为 win10SQL Server 安装材料下载 链接:http://p删除an.baidu.com/s/1中文miQ1ZQg 密码:pszf挂不补,可到bdsola.com搜索下载 1.安装教程(幸运E版):http://jingyan.baidu.com/article/acf728fd1a30d0f8e510a380.html 注意:当你的电脑是多核的时候可能会出现安装错误   2.此时推荐教程:htt

mac数据恢复软件EasyRecovery使用教程

mac数据恢复软件EasyRecovery使用教程 文件丢失是非常让人郁闷的!因为没有备份所以很多重要的东西都没有办法找回!小编为大家准备了EasyRecovery,这款数据恢复软件费非常好用,可以将您丢失的数据找回.小编还特意为大家准备了数据恢复软件EasyRecovery使用教程,下面就和小编一起来看看具体如何使用吧! <ignore_js_op> 数据恢复软件EasyRecovery使用教程介绍:第一步:我们需要在Mac中安装好EasyRecovery for Mac,然后启动EasyR

mac苹果电脑上Mathtype软件的安装教程

对于数学学习来将,Mathtype是一款非常不错的工具,在这里您可以方便快捷的计算出公式的结果,只需要将方程式填写进去就能出来结果.小编为大家准备了Mathtype安装教程,安装的过程是非常简单的,安装好了之后会让您的工作变得更加轻松,还能提升工作的效率哦! Mathtype安装教程介绍:第一步:打开下载的Mathtype文件 第二步:点击左边的安装文件,会得到提示,下图所示: 第三步:选择好,然后会在弹出提示窗口,点击继续,如下图所示: 第四步:因为暂时只有英文版的,所以选择英文版,点击继续安

JavaWeb之Java Servlet完全教程(转)

Servlet 是一些遵从Java Servlet API的Java类,这些Java类可以响应请求.尽管Servlet可以响应任意类型的请求,但是它们使用最广泛的是响应web方面的请求. Servlet必须部署在Java servlet容器才能使用.虽然很多开发者都使用Java Server Pages(JSP)和Java Server Faces(JSF)等Servlet框架,但是这些技术都要在幕后通过Servlet容器把页面编译为Java Servlet.也就是说,了解Java Servle