對于選擇Hibernate還是iBatis的看法
選擇Hibernate還是iBATIS都有它的道理:
Hibernate功能強大,數(shù)據(jù)庫無關性好,O/R映射能力強,如果你對Hibernate相當精通,而且對Hibernate進行了適當?shù)姆庋b,那么你的項目整個持久層代碼會相當簡單,需要寫的代碼很少,開發(fā)速度很快,非常爽。
Hibernate的缺點就是學習門檻不低,要精通門檻更高,而且怎么設計O/R映射,在性能和對象模型之間如何權衡取得平衡,以及怎樣用好Hibernate方面需要你的經(jīng)驗和能力都很強才行。
iBATIS入門簡單,即學即用,提供了數(shù)據(jù)庫查詢的自動對象綁定功能,而且延續(xù)了很好的SQL使用經(jīng)驗,對于沒有那么高的對象模型要求的項目來說,相當***。
iBATIS的缺點就是框架還是比較簡陋,功能尚有缺失,雖然簡化了數(shù)據(jù)綁定代碼,但是整個底層數(shù)據(jù)庫查詢實際還是要自己寫的,工作量也比較大,而且不太容易適應快速數(shù)據(jù)庫修改。
對于選擇Hibernate還是iBatis,我的建議就是:
如果你的團隊沒有Hibernate高手,那么請用iBATIS,要把Hibernate用好,并不容易;否則你應該選擇Hibernate,那樣你的開發(fā)速度和代碼簡潔性都相當棒!
BTW:
我覺得rails的ActiveRecord是平衡性做的***的,避免了Hibernate的復雜性和學習HQL的成本,同時具備iBATIS即學即用的簡單性。
【編輯推薦】