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.1 Attribute Description 用于通过相对路径来确定标准属性文件的位置,文件路径是相对于应用程序的根目录而 resource 言的。例如: resource=\ 用于通过绝对物理路径来确定标准属性文件的位置。例如: url=\ url g\或者 url=\config\ 用于通过嵌入资源方式来确定标准属性文件的位置。嵌入属性的语法如下所示:'[扩展命名空间.]文件名,含有嵌入资源的组 embedded 件名称',例如: embedded=\MyApp.Data\ 6.5.1.2 我们既可以声明一个或多个标准属性文件,也可以直接使用 Attribute Description 用于通过相对路径来确定标准属性文件的位置,文件路径是相对于应用程序的根目录而言的。例如: resource=\ resourceurl用于通过绝对物理路径来确定标准属性文件的位置。例如 url=\g\或者 url=\config\ embedded用于通过嵌入资源方式来确定标准属性文件的位置。嵌入属性的语法如下所示:'[扩展命名空间.]文件名,含有嵌入资源的组件名称',例如: embedded=\MyApp.Data\ key定义个属性变量,例如:key=\ value设置属性变量的值,例如:value=\ 6.5.2 在ADO.NET环境下,应用系统通过数据提供者访问数据库系统。iBATIS.NETDataMapper使用可变的方式来与数据提供者交互。在Providers.config文件中,使用一个 (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) 获取或设置一个布尔值,该值指示多活动结果集是否可与关联的连接相关联。(具体的应用我没有试过,不知道到底代表什么,有何用处)。 数据提供者可能会需要我们当前并没有安装在计算上的运行库。在此情况下,通过将配置文件中 标准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 映射框架中有三个默认的 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 该元素有两个属性: 属性 描述 为元素命名一个唯一的ID例如:alias=\ assembly alias类所在的组件名称例如: assembly=\NPetshop.Domain.dll\ type完整类名,包括引用的命名空间例如: type=\IBatisNet.Test\
相关推荐: