前两天想使用ibatis.net做一个项目,其实本来不必这么复杂,因为项目时间很短,可就是不能逃过我的好奇心,偏就边学边用你了。

    上到ibatis网站转了转,看了看,下载了DataMapper 1.6.1 ,DataAccess 1.9.1 (下载地址

http://ibatis.apache.org/dotnetdownloads.cgi),感觉这个框架确实很好很强大,也很美很复杂,好在有网上那么多朋友写了教

程,随即就找两篇配置一下,感觉也不会有多难。

 

    一上手ibatis.net就傻了,足足花费了一天配置环境,直汗,在次把这次配置我遇到的问题和注意事项写下来,也好避免有朋友犯类

似雷人的错误.

 

1.一定要在官方网站看一下ibatis.net的两个文档
  DataMapper 1.6.1文档:http://ibatis.apache.org/docs/dotnet/datamapper/index.html
  DataAccess 1.9.1文档:http://ibatis.apache.org/docs/dotnet/dataaccess/index.html
  里面基本上有很多关键的问题都说的很清楚。

 

2.如果你下载了NPetShop或NPetShop2代码,或者参考一些朋友先前的配置文件,注意这些项目或者文章使用的配置文件很可能已经

   陈旧,不适用于ibatis.net 1.3以上版本了。一定按照官方的文档中的配置方式配置。切记不可运行的一切的根源可能不在于你的代

   码,而在于配置文件没有配置好。尤其要注意每个配置文件的头部信息,特别是xmlns和xmlns:xsi,切记对照官方文档检查清楚。

 

3.一定要正确的引用Castle.DynamicProxy类库,这个是关键的关键,在官方文档中有详细的描述。

 

4.当碰到这个出错提示ibatis.net This SQL map does not contain a MappedStatement named
   往往是没有加载SqlMap.config所导致,最简单的验证方法是将SqlMap.config中
   <sqlMaps>
      <sqlMap url="E:\Projet\NPetshop\Source\NPetshop.Web\Maps\Category.xml"/>
   </sqlMaps>
   url的配置改成一个不存在的.xml文件,这时启动项目后肯定报错找不到文件。

 

5.如果报System.NullReferenceException: 未将对象引用设置到对象的实例的错误,即:
      行 35: DomDaoManagerBuilder builder = new DomDaoManagerBuilder();
      行 36: builder.ConfigureAndWatch("dao.config", handler);
   一般都是没有正确的引用Castle.DynamicProxy类库。


6.最佳参看的示例在http://www.cnblogs.com/anderslly/archive/2007/08/07/npetshopsourcecode.html感谢作者,重写了

   NPetShop的示例。

posted on 2008-08-07 17:25  快线  阅读(3463)  评论(2编辑  收藏  举报