好文档 - 专业文书写作范文服务资料分享网站

IBatis教程 

天下 分享 时间: 加入收藏 我要投稿 点赞

connectionString=\id=${username};password=${password};datasource=${datasource};database=${database};\

type=\IBatisNet.Test\

结构如下图所示:

6.5DataMapper配置元素6.5DataMapper

6.5.1

在XML配置文件中,某些值会在多个元素中出现。当更新这些值时,如果到XML配置文件中去一一进行更改,不但繁琐而且容易遗漏或出错。为了帮助更好的管理这样的数值配置,我们可以单独在一个标准属性文件中定义这些值,并把此标准属性文件作为DataMapper的框架的一个组成部分。而且,在标准属性文件中定义的这些具有不同命名的值就可以在DataMapper配置文件和DataMap定义文件中使用。

例如:

那么在DataMapper所有的配置文件中就可以使用${username}格式来引用标准属性文件中username设置的值。

合理的使用标准属性文件可以简化工程的设计、调试和维护。

6.5.1.1attributes

元素可以使用下表中的属性来确定标准属性文件的位置。

Attribute

Description

用于通过相对路径来确定标准属性文件的位置,文件路径是相对于应用程序的根目录而

resource

言的。例如:

resource=\

用于通过绝对物理路径来确定标准属性文件的位置。例如:

url=\

url

g\或者

url=\config\

用于通过嵌入资源方式来确定标准属性文件的位置。嵌入属性的语法如下所示:'[扩展命名空间.]文件名,含有嵌入资源的组

embedded

件名称',例如:

embedded=\MyApp.Data\

6.5.1.2元素和属性6.5.1.2

我们既可以声明一个或多个标准属性文件,也可以直接使用元素在SqlMap.config文件中直接添加带有键(key)和键值(value)属性的元素。

Attribute

Description

用于通过相对路径来确定标准属性文件的位置,文件路径是相对于应用程序的根目录而言的。例如:

resource=\

resourceurl用于通过绝对物理路径来确定标准属性文件的位置。例如

url=\g\或者

url=\config\

embedded用于通过嵌入资源方式来确定标准属性文件的位置。嵌入属性的语法如下所示:'[扩展命名空间.]文件名,含有嵌入资源的组件名称',例如:

embedded=\MyApp.Data\

key定义个属性变量,例如:key=\

value设置属性变量的值,例如:value=\

6.5.2元素6.5.2

在ADO.NET环境下,应用系统通过数据提供者访问数据库系统。iBATIS.NETDataMapper使用可变的方式来与数据提供者交互。在Providers.config文件中,使用一个元素来描述一种数据提供者。iBATIS.NETDataMapper发布的组件包中,标准的Providers.config文档共包含13种(16种方式)预先设置好的数据提供者:

(1)sqlServer1.0-MicrosoftSQLServer7.0/2000provideravailablewith.NETFramework1.0

sqlServer1.1-MicrosoftSQLServer7.0/2000provideravailablewith.NETFramework1.1(2)OleDb1.1-OleDbprovideravailablewith.NETFramework1.1

Odbc1.1-Odbcprovideravailablewith.NETFramework1.1

(3)sqlServer2.0-MicrosoftSQLServer7.0/2000/2005provideravailablewith.NETFramework2.0(4)OleDb2.0-OleDbprovideravailablewith.NETFramework2.0(5)Odbc2.0-Odbcprovideravailablewith.NETFramework2.0(6)oracle9.2-OracleproviderV9.2.0.401

oracle10.1-OracleproviderV10.1.0.301

(7)oracleClient1.0-MSOracleproviderV1.0.5availablewith.NETFramework1.1(8)ByteFx-ByteFxMySQLproviderV0.7.6.15073(9)MySql-MySQLproviderV1.0.4.20163

(10)SQLite3-SQLite.NETproviderV0.21.1869.3794(11)Firebird1.7-FirebirdSQL.NETproviderV1.7.0.33200(12)PostgreSql0.7-NpgsqlproviderV0.7.0.0(13)iDb2.10-IBMDB2iSeriesproviderV10.0.0.0

注:在SQLServer2005环境下,可以为数据提供的配置属性(allowMARS=\,并且在连接字符串中增加:MultipleActiveResultSets=true

该属性的意义:(MSDN)

获取或设置一个布尔值,该值指示多活动结果集是否可与关联的连接相关联。(具体的应用我没有试过,不知道到底代表什么,有何用处)。

数据提供者可能会需要我们当前并没有安装在计算上的运行库。在此情况下,通过将配置文件中的enabled属性值设置为“false”来禁用这个数据提供者,还可以通过设置default属性为“true”,来设置默认的数据提供者。

标准providers.config文件中,将sqlServer1.1设置成默认数据提供者,sqlServer1.0为禁用状态,除了sqlServer1.1,OleDb1.1,Odbc1.1外,其它的数据提供者都被设置成禁用状态。请特别注意,在实际应用中将我们所用的数据提供者的enabled属性设置为“true”。

Providers.config文件文件的位置:

Windows,Library工程Web工程

存放在组件文件(.dll)的目录下工程根目录下,即和web.config文件同级目录下

6.5.2.1属性

属性说明

从以工程根目录为标准的相对路径文件中获取配置的相关数据。根据工程类型的不同,工程根目录也有区别,鉴于此,可以使用一个属性变量来设置这个相对路径的值。也就是说通过在属性文件(上面提到过)中设置一个变量来标识这个相对路径值,然后在配置文件中引用这个属性文件中的这个变量即可,这样更见灵活方便的配置工程参数。例如:resource=\

resourceurl从绝对路径中获取配置的相关数据。url=\或者

url=\onfig\

embedded采用嵌入资源的方式获取配置文件:'[扩展命名空间.]文件名,含有嵌入资源的组件名称',例如:

embedded=\MyApp.Data\

6.5.3元素

映射框架中有三个默认的设置,这些设置值并不是普适性的设置。根据系统使用的环境,设置元素的内容,就可以达到对DataMapper实例的最优化。每个元素都有默认的设置,实际应用中可以删除元素,也可以删除它的子项。例如:

它的属性列表:

AttributeDescription

全局化配置DataMapper客户能否启用cache。例如:

cacheModelsEnabled=”true”默认值:true(enabled)

cacheModelsEnableduseStatementNamespaces如果把这个属性设置为“true”,当在程序中访问数据查询语句时,需要在查询语句的名称天前添加它的完整命名空间(XML内容)。例如:

queryForObject(“Namespace.statement.Id”);

useStatementNamespaces=”false”默认值:false(disabled)

validateSqlMap全局话配置是否采用SqlMapConfig.xsd的架构来验证SqlMap工程中的映射文档。例如:validateSqlMap=”false”默认值:false(disabled)

useReflectionOptimizer全局化配置是否使用C#的reflection机制来访问c#中对象的属性或变量。例如:useReflectionOptimizer=”true”Default:true(enabled)

6.5.4元素6.5.4

该元素有两个属性:

属性

描述

为元素命名一个唯一的ID例如:alias=\

assembly

alias类所在的组件名称例如:

assembly=\NPetshop.Domain.dll\

type完整类名,包括引用的命名空间例如:

type=\IBatisNet.Test\

1ob9s1oo6h6et871e27e
领取福利

微信扫码领取福利

微信扫码分享