今日走馬觀花地看了夏昕寫的 ibatis 開發指南,在此特記下自身的一些體會:
優勢:
1,ibatis主要是用java類封裝sql語句,可以使程序員對數據庫進行對象操作,與hibernate的功能是相似的。
2,利用sql語句的封裝,可以達到同一條sql語句相同,減少語句分析時間,提高數據庫cache的命中,在整體上能提高數據庫的利用率。
3,上手應該不難-_-。
問題:
1,ibatis的sql語句映射文件多數是用于對意表操作,而對進數據庫操作相對來說有限,不可能做到很復雜很特別語句的映射。
2,ibatis的映射文件是否真全要手寫,相信單表操作是可以實現文件的自動化生成,但對于一些多表關聯是很難自動化生成的,畢竟是封裝sql,而不能確定何種sql是用戶需要的。
3,ibatis的申奧文件是先全部生成還是在運用中不段添加,后者的話文件的版本和管理上也是個問題。
個人感覺:在小的項目中運用可能能夠很好的運用,但對于龐大復雜的系統來說,可能很難過好的掌控,因本人對長期編寫sql,在程序中經常直接調sql語句(項目中有使用hibernate),覺得直接編寫sql來的方面,而且對于一些復雜語句,對其的封可能得不償失,手工編寫xml文件是個大的問題...........................
優勢:
1,ibatis主要是用java類封裝sql語句,可以使程序員對數據庫進行對象操作,與hibernate的功能是相似的。
2,利用sql語句的封裝,可以達到同一條sql語句相同,減少語句分析時間,提高數據庫cache的命中,在整體上能提高數據庫的利用率。
3,上手應該不難-_-。
問題:
1,ibatis的sql語句映射文件多數是用于對意表操作,而對進數據庫操作相對來說有限,不可能做到很復雜很特別語句的映射。
2,ibatis的映射文件是否真全要手寫,相信單表操作是可以實現文件的自動化生成,但對于一些多表關聯是很難自動化生成的,畢竟是封裝sql,而不能確定何種sql是用戶需要的。
3,ibatis的申奧文件是先全部生成還是在運用中不段添加,后者的話文件的版本和管理上也是個問題。
個人感覺:在小的項目中運用可能能夠很好的運用,但對于龐大復雜的系統來說,可能很難過好的掌控,因本人對長期編寫sql,在程序中經常直接調sql語句(項目中有使用hibernate),覺得直接編寫sql來的方面,而且對于一些復雜語句,對其的封可能得不償失,手工編寫xml文件是個大的問題...........................