iBatis2學習筆記 總結與思考

2021-09-05 07:26:36 字數 1168 閱讀 8215

ibatis2學習筆記:總結與思考

ibatis2是hibarnate和其他持久化框架的乙個補充,ibatis提供非常靈活的對映策略,在執行效率上接近jdbc。在配置上也非常的靈活,可以實現hibernate類似的關聯關係。ibatis使用好了也會有很好的**復用效果。這關鍵在於開發者的水平了。

ibatis不能直接支援多級關聯,如果需要實現,則必須通過寫非常複雜的sql去實現,但是這有些得不償失,不但難以實現而且難以理解和維護。這是ibatis不容易做到的。雙向多對多可謂ibatis最複雜的關聯關係了。

ibatis的配置檔案也有不爽的地方,那就是對配置元素的順序有比較嚴格限制,當順序錯誤的時候,則應用不能工作。

ibatis在和spring整合的中,如果sqlmap配置檔案有錯誤,哪怕乙個標點符號的錯誤,則整個應用不讓啟動,這是讓人難以接受的。

ibatis中,在任何的sql語句中,都不要去寫分號,否則出現問題你就等著傻眼吧,在sql裡出現分號不會提示錯誤,應用啟動正常,但執行就掛了,沒啥有用的提示資訊。因此這點要千萬記好了。

ibatis中,由於sql是寫在xml配置中的,如果當sql總出現大於小於(> 、<)的比較,或者其他特殊字元,則會破壞xml配置檔案的結構,這時候應該使用將sql串括起來。

ibatis的sqlmap配置檔案可以分布在多個檔案和包中,但是在任何乙個裡都可以引用其他的語句和對映型別。當然,有眾多表的情況下,將所有的sqlmap對映定義到乙個表中是不明智的,為了統一,常常乙個表對應乙個實體乙個sqlmap檔案。

ibatis和hibernate有很多相似的地方,也可以配置快取和資料來源連線池,這些配置都時候和實際的壓力測試結合而定的。

ibatis在使用上比hibernate麻煩,如果乙個開發人員,同時熟悉這兩種技術,首先應該選擇hibernate,而不是ibatis。

ibatis更偏向資料的建模,hibernate更偏向物件建模,hibernate開發一般是從實體類開始,然後結合xdoclet匯出sql指令碼和hbm.xml配置檔案。但ibatis開發是先從資料庫建立起實體物件和其間的關聯,然後寫配置檔案。相比之下,hibernate更符合物件導向的設計思想。

ibatis是hibernate的補充和益友,而非競爭者,乙個專案中這兩種技術完全可以同時存在,沒有什麼不可以的。

最後再重複一點,只有掌握了ibatis眾多的開發技巧,你的開發才有效率和質量的保障。

Python 編碼解碼的問題 學習筆記 總結思考

幾個問題 1.coding utf 8與sys.setdefaultencoding utf 8 的區別?2.假如檔案頭 沒有 coding utf 8那麼檔案當前的編碼是什麼?3.print是相當於讀入麼?print出來的結果的編碼跟什麼有關?這幾個問題會在看完以下知識後進行解答 一 基本概念 1...

核心執行緒學習筆記總結2

include linux module.h include linux kernel.h include linux init.h include linux sched.h module author t bagwell cu module license gpl static declare ...

DNS與BIND學習筆記 2

6.bind中名字伺服器的分類以及區別 非權威 從快取中讀取記錄來回答查詢,可能資料已過期 遞迴 名字伺服器要麼是遞迴要麼是不遞迴的。遞迴的含義是如果它不能回答你的查詢,它將自己替你向上級進行查詢,知道有結果 真實的結果或者錯誤的訊息 非遞迴 如果對於你的查詢它能回答的,那麼它將提供正確的響應,否則...