早就听说过ibatisnet,用它打架构非常好,虽然偶尔也看下相关资料,但是都没有消化,还是不能运用到实际中去.今天我要好好的学习下ibatisnet.

      IBatisNET从名字就可以看出,他是从Java的IBatis开源项目转过来的,由于Java的开源项目很多,所以,现在.NET学习Java的很多的开源项目,纷纷将java的项目转移到.net旗下,比较有名有:Hibernate-->NHibernate,Spring -->Spring.Net,IBatis -->IBatisNet等.现在IBatisNET已经是属于Apache下的一个子项目了.最新版本已经1.3了.
     IBatisNet是一个功能强大实用的SQL Map工具,不是ORM工具。它是将SQL语句映射成.NET对象,同时将这个.Net对象与ASP.NET页面中的数据结合起来,这样就可以达到这个.NET类最大的重用性和灵活性。
     DAOFactory也是IBatisNet提供的一个Component。用来动态的配置DAO接口的实现类,这样当业务需求更改的时候就可以只通过XML来改变DAO的实现,而不需要重新编译程序。
     所以对于这样一个构架中:
     1. Web层是通过FormBean来显示和获取数据。
     2. 业务层是通过IBatis映射的.NET类来实现数据表示的。
     3. DAO层是通过DAOFactory语IBatis映射的.NET类来表示的。
       iBatis基本的运行环境配置主要由两个文件组成,分别是SqlMap.config和Provider.config。它们是必需的两个配置文件,基中SqlMap.config的功能类似于web.config或者app.config,是iBatis核心的配置文件,它的存放路径也跟应用程序配置文件一样,必须放在应用程序的运行目录下并且它的文件名是保留的,不可改变的。而Provider.config是一个数据驱动提供类的配置,它的文件名是可以随意改变的,因为通过SqlMap.config的一个配置节可以配置它的引用。
     SqlMap.config包括以下一些主要配置,根据需要,有些配置节并不是必须的.
     1.protities:可以根据需要配置一些常量属性。如果这些属性有很多的话可以单独写一个文件里面,再通过resource(或url, embedded分别是引用url和编译在程序中的资源文件)属性引用进来。如:
      <protities resource="http://www.cnblogs.com/database.config">
        <protity key="useStatementNamespaces" value="false" />
     </protities>
这个配置节是可选的.
     2.settings:包括三个配置段:
    <setting useStatementNamespaces="${useStatementNamespaces}" />
    <setting cacheModelsEnabled="true"  />
    <setting validateSqlMap="false"  />
     useStatementNamespaces:配置在使用语句ID的时候要不要加命名空间.例中${useStatementNamespaces}就是使用protities中的一个属性,默认为false.
     cacheModelsEnabled:配置要不要起用ibaits的缓存模型,默认是true.
     validateSqlMap:配置要不要启示验证映射文件,默认是false.
     3.providers:配置数据驱动提供类配置文件的路径和文件名.
     <proders resource="providers.config" />
     4.database:数据库信息.包括使用那些数据库驱动和数据库连接字符串的配置.
     <provider name="sqlServer2.0" />
     <datasource  name="iBatisNet"  connectionString="" />
     5.alias:类型别名的配置.为了更方便的使用类,就需在这里进行配置可使类名更短.
     <alias>
        <typeAlias alias="ArrayList" type="System.Collections.ArrayList,mscorlib" />
     </alias>
    6.typeHandlers.
    7.sqlMaps.用来包含当前已经写好的并且需要用到的数据类映射文件.
   <sqlMaps>
       <sqlMap resource="" />
   </sqlMaps>
  <sqlMaps embedded="" />
posted on 2010-07-15 14:52  凯===凯  阅读(569)  评论(0编辑  收藏  举报