新手五忌:配置iBatis.net更輕松
前兩天想使用ibatis.net做一個(gè)項(xiàng)目,其實(shí)本來(lái)不必這么復(fù)雜,因?yàn)轫?xiàng)目時(shí)間很短,可就是不能逃過(guò)我的好奇心,偏就邊學(xué)邊用你了。下載了DataMapper 1.6.1 ,DataAccess 1.9.1 (下載地址http://ibatis.apache.org/dotnetdownloads.cgi),感覺(jué)這個(gè)框架確實(shí)很好很強(qiáng)大。
一上手配置ibatis.net就傻了,足足花費(fèi)了一天配置環(huán)境,直汗,在次把這次配置ibatis.net我遇到的問(wèn)題和注意事項(xiàng)寫(xiě)下來(lái),也好避免有朋友犯類似雷人的錯(cuò)誤.
1.配置iBatis.net之前,一定要在官方網(wǎng)站看一下ibatis.net的兩個(gè)文檔
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
里面基本上有很多關(guān)鍵的問(wèn)題都說(shuō)的很清楚。
2.如果你下載了NPetShop或NPetShop2代碼,或者參考一些朋友先前配置iBatis.net的文件,注意這些項(xiàng)目或者文章使用的配置文件很可能已經(jīng)陳舊,不適用于ibatis.net 1.3以上版本了。一定按照官方的文檔中的配置iBatis.net方式配置。切記不可運(yùn)行的一切的根源可能不在于你的代碼,而在于配置文件沒(méi)有配置好。尤其要注意每個(gè)配置文件的頭部信息,特別是xmlns和xmlns:xsi,切記對(duì)照官方文檔檢查清楚。
3.一定要正確的引用Castle.DynamicProxy類庫(kù),這個(gè)是關(guān)鍵的關(guān)鍵,在官方文檔中有詳細(xì)的描述。
4.當(dāng)碰到這個(gè)出錯(cuò)提示ibatis.net This SQL map does not contain a MappedStatement named往往是沒(méi)有加載SqlMap.config所導(dǎo)致,最簡(jiǎn)單的驗(yàn)證方法是將SqlMap.config中<sqlMaps><sqlMap url="E:\Projet\NPetshop\Source\NPetshop.Web\Maps\Category.xml"/></sqlMaps>url的配置改成一個(gè)不存在的.xml文件,這時(shí)啟動(dòng)項(xiàng)目后肯定報(bào)錯(cuò)找不到文件。
5.如果報(bào)System.NullReferenceException: 未將對(duì)象引用設(shè)置到對(duì)象的實(shí)例的錯(cuò)誤,即:
行 35: DomDaoManagerBuilder builder = new DomDaoManagerBuilder();
行 36: builder.ConfigureAndWatch("dao.config", handler);
一般都是沒(méi)有正確的引用Castle.DynamicProxy類庫(kù)。
以上為配置iBatis.net常見(jiàn)的問(wèn)題,各位新手一定要注意啊。
【編輯推薦】