iBATISnet的配置

iBatisnet基本的运行环境配置主要由两个文件组成,分别是SqlMap.config和Provider.config。它们是必需的两个配置文件,基 中SqlMap.config的功能类似于web.config或者app.config,是iBatis核心的配置文件,它的存放路径也跟应用程序配置 文件一样,必须放在应用程序的运行目录下并且它的文件名是保留的,不可改变的。而Provider.config是一个数据驱动提供类的配置,它的文件名 是可以随意改变的,因为通过SqlMap.config的一个配置节可以配置它的引用。
SqlMap.config包括以下一些主要的配置节,根据需要,有的配置节并不是必须的:
1. properties :可以根据需要配置一些常量属性。如果这些属性有很多的话可以单独写一个文件里面,再通过resource(或url, embedded分别是引用url和编译在程序中的资源文件)属性引用进来。如:
<properties resource="../../database.config">
        <property key="useStatementNamespaces" value="false"/>
   </properties>
这个配置节是可选的。
2. settings:包括有三个配置段:
<setting useStatementNamespaces="${useStatementNamespaces}"/>
        <setting cacheModelsEnabled="true"/>
        <setting validateSqlMap="false"/>
useStatementNamespaces:在文档中说明它的作用是配置在使用语句ID的时候要不要加命名空间,例中${useStatementNamespaces}就是使用properties中的一个属性,默认是false。
cacheModelsEnabled 是配置要不要启用iBatis的缓存模型,默认是true。
validateSqlMap 是配置要不要启示验证映射文件,默认是false。
    3. providers :配置数据驱动提供类配置文件的路径和文件名。
              <providers resource="providers.config"/>
    4. database : 数据库的信息,包括使用哪些数据库驱动和数据连接字符串的配置。
<database>
        <!-- Optional ( default ) -->
        <provider name="sqlServer1.1"/>
        <dataSource name="iBatisNet"
connectionString=""/>
        </database>
    5. alias : 类型别名的配置,为了使用更方便的使用类(类名更短),就需在这里进行别名的配置。
        <alias>
            <typeAlias alias="ArrayList" type="System.Collections.ArrayList,mscorlib"/>
        </alias>
    6. typeHandlers :这个就相对比较复杂些了,到目前我也没有使用到。从字面上理解,它是一个类型的处理器,它的作用是当你使用的数据库当中有iBatis不支持或不认识的 字段(或者不希望默认的处理方式),那就可以为它取一个名字,并且指定对应的.NET类型来处理它。
    <typeHandlers>
        <typeHandler type="bool" dbType="Varchar" callback="OuiNonBool"/>
    </typeHandlers>
    7. sqlMaps :用来包含当前已经写好的,并且需要用到的数据类映射文件。
<sqlMaps>
        <!-- <sqlMap url="E:/Projet/iBatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/${directory}/MSSQL/SqlClient/Account.xml"/>   -->
        <sqlMap resource="Mappers/ContentMapper.xml"/>
        <!-- Rem : If used as embbeded Resources, use
        <sqlMap embedded="Maps.MSSQL.SqlClient.Account.xml, IBatisNet.DataMapper.Test"/>-->
</sqlMaps>
以上就是Sqlmap.config的基本内容了。注意,以上凡是涉及到引用外部文件的都支持resouce,url,embedded 三种方式。
Provider.config的配置类很简单,在默认的Provider.config中已经有很多不同数据库的数据驱动,而在 SqlMapp.config的database配置的provider属性就是使用Provider.config中已有的不同驱动中的一个。以下是添 加一个Ado.net 2.0 数据访问驱动:
<provider
    name="sqlServer2.0"
    description="Microsoft SQL Server 7.0/2000/2005, provider V2.0.0.0 in framework .NET V2.0"
    enabled="true"
    default="true"
    assemblyName="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" connectionClass="System.Data.SqlClient.SqlConnection"
    commandClass="System.Data.SqlClient.SqlCommand"
    parameterClass="System.Data.SqlClient.SqlParameter"
    parameterDbTypeClass="System.Data.SqlDbType"
    parameterDbTypeProperty="SqlDbType"
    dataAdapterClass="System.Data.SqlClient.SqlDataAdapter"
    commandBuilderClass="System.Data.SqlClient.SqlCommandBuilder"
    usePositionalParameters="false"
    useParameterPrefixInSql="true"
    useParameterPrefixInParameter="true"
    parameterPrefix="@"/>
OK,以上就是SqlMap.config和Provider.config的基本内容。

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不起作用时 DB_51aspx下为Sql数据库,附加后修改SqlMaps/database.config的Sql配置文件并编译才能生效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值