现在的位置: 首页 > 综合 > 正文

IbatisNet开发使用小结 之一

2013年06月07日 ⁄ 综合 ⁄ 共 1970字 ⁄ 字号 评论关闭

一.   介绍

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

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

 

二.   准备工作

下面先让我们来动手实践一下,看看如何使用和调用IbatisNet

1.  下载IbatisNet软件包: http://ibatis.apache.org/dotnetdownloads.cgi

 iBATIS.NET Downloads

 
 

官方网站还提供了一个示例项目:NPetShop Example Application

 

2.  建立测试数据库,并在数据库中创建一个Person 表:

字段

类型

大小

PER_ID

int

4

PER_FIRST_NAME

nvarchar

40

PER_LAST_NAME

nvarchar

40

PER_BIRTH_DATE

DateTime

8

PER_WEIGHT_KG

float

8

PER_HEIGHT_M

float

8

 

三.   开发步骤

1. 逻辑结构

   

2. 建立项目

打开VS.NET,新建一个“ASP.NET Web应用程序”项目。

 

3. 添加引用

在项目中添加下面dll的引用:

IBatisNet.Common.dll

IBatisNet.DataMapper.dll

IBatisNet.DataAccess.dll

 

4. 在项目中,添加配置文件  SqlMap.config

该文件为IBatis.net默认的配置文件,不能缺少,当然可以不必是Sql.config,但是如果改为其他的名字的话需要在前台代码中说明,请参考下面的内容providers.config:该文件必须存在,并且不能改变它的文件名,该文件描述了如何连接数据库,无须配置

结合上面示例中的IbatisNet配置文件,下面对配置文件中各节点的说明:

<?xml version="1.0" encoding="utf-8"?>

<sqlMapConfig xmlns="http://ibatis.apache.org/dataMapper"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >

 

    <!-- 常量属性,通过单独文件properties.config加载-->

    <properties resource="properties.config"/>

    <!-- 常量属性,通过程序集资源中 加载

    <properties embedded="database.config, IBatisNetDemo"/>-->

    

    <settings>

     <setting useStatementNamespaces="${useStatementNamespaces}"/>

     <setting cacheModelsEnabled="true"/>

     <setting validateSqlMap="false"/>

    </settings>

 

    <!-- 数据驱动提供类配置文件的路径和文件名 -->

    <providers resource="providers.config"/>

 

    <!-- 设置数据库连接信息 -->

    <database>

        <provider name="${provider}"/>

        <dataSource name="IBatisNetTest" connectionString="${connectionString}"/>

    </database>

抱歉!评论已关闭.