ibatis與hibernate有什么區別


最大的區別在於:
ibatas的sql語句需要自己手動寫,而hibernate能夠在程序運行時自動生成。但是不要就這樣以為hibernate比ibatas方便,其實二者熟悉之后的效率差不多。而hibernate還能夠自動建表等等,這樣的好處就在於你帶着
這個程序,無論到什么機器上,你都不需要數據庫,應為它能自動為你完成,而ibatas就必須要有相應的數據庫表才能進行移植
Hibernate的特點:
Hibernate功能強大,數據庫無關性好,O/R(對象/關系)映射能力強,如果你對Hibernate相當精通,而且對Hibernate進行了適當的封裝,那么你的項目整個持久層代碼會相當簡單,需要寫的代碼很少,開發速度很快,非常爽。
Hibernate對數據庫結構提供了較為完整的封裝,Hibernate的O/R Mapping實現了POJO(實體類) 和數據庫表之間的映射,以及SQL 的自動生成和執行。程序員往往只需定義好了POJO 到數據庫表的映射關系,即可通過
Hibernate 提供的方法完成持久層操作。程序員甚至不需要對SQL 的熟練掌握, Hibernate/OJB 會根據制定的存儲邏輯,自動生成對應的SQL 並調用JDBC 接口加以執行。Hibernate的缺點就是學習門檻不低,要精通門
檻更高,而且怎么設計O/R映射,在性能和對象模型之間如何權衡取得平衡,以及怎樣用好Hibernate方面需要你的經驗和能力都很強才行,但是Hibernate現在已經是主流O/R Mapping框架,從文檔的豐富性,產品的完善性,
版本的開發速度都要強於iBATIS。
iBATIS的特點:
iBATIS入門簡單,即學即用,提供了數據庫查詢的自動對象綁定功能,而且延續了很好的SQL使用經驗,對於沒有那么高的對象模型要求的項目來說,相當完美。iBATIS的缺點就是框架還是比較簡陋,功能尚有缺失,雖然簡化了
數據綁定代碼,但是整個底層數據庫查詢實際還是要自己寫的,工作量也比較大,而且不太容易適應快速數據庫修改。當系統屬於二次開發,無法對數據庫結構做到控制和修改,那iBATIS的靈活性將比Hibernate更適合。
系統數據處理量巨大,性能要求極為苛刻,這往往意味着我們必須通過經過高度優化的SQL語句(或存儲過程)才能達到系統性能設計指標。在這種情況下iBATIS會有更好的可控性和表現。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM