當前位置:編程學習大全網 - 編程語言 - hibernate和ibatis的區別

hibernate和ibatis的區別

推薦解答(1)

Hibernate Hibernate是壹個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序實用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。Eclipse平臺下的Hibernate輔助開發工具:Hibernate SynchronizerMiddlegenIDE IBATIS 使用ibatis 提供的ORM機制,對業務邏輯實現人員而言,面對的是純粹的Java對象, 這壹層與通過Hibernate 實現ORM 而言基本壹致,而對於具體的數據操作,Hibernate 會自動生成SQL 語句,而ibatis 則要求開發者編寫具體的SQL 語句。相對Hibernate等 “全自動”ORM機制而言,ibatis 以SQL開發的工作量和數據庫移植性上的讓步,為系統 設計提供了更大的自由空間。作為“全自動”ORM 實現的壹種有益補充,ibatis 的出現顯 得別具意義。

[數據捕快 大數據實驗室提供 ][datacaptor from aosustudio]

推薦解答(2)

壹.***同點:

1.都是O/R mapping框架,直接與數據庫打交道。

2.都提供方言支持不同類型數據庫的訪問,通過xml文件格式將數據庫表與java對象連接起來。

3.都可以交給spring來管理

4.都是開源軟件

二.區別:

hibernate是當前流行的O/R框架,來自於sf.net,現在已成為HBOSS的壹部分。 hibernate相對較復雜,學習周期長。

ibatis/mybatis 是另外壹種優秀的o/r mapping框架,目前屬於apache的壹個子項目了。ibatis上手快,很容易學學習。

三原理:

hibernate對數據結構進行了很好的封裝,可以實現java對象也就是POJO是數據庫表之間的映射,還能根據POJO及SQL自動生成表和執行命令。程序員往往只需定義好了pojo 到數據庫表的映射關系,即可通過hibernate 提供的方法完成持久層操作。程序員甚至不需要對sql 的熟練掌握, hibernate/ojb 會根據制定的存儲邏輯,自動生成對應的sql 並調用jdbc 接口加以執行。

而ibatis 則重點在於pojo 與sql之間的映射關系。ibatis不能讓我們通過POJO生成SQL語句來執行 。具體的sql 需要程序員編寫,然後通過映射配置文件,將sql所需的參數,以及返回的結果字段映射到指定pojo。

四.機制

使用ibatis 提供的orm機制,對業務邏輯實現人員而言,面對的是純粹的java對象。這壹層與通過hibernate 實現orm 而言基本壹致,而對於具體的數據操作,hibernate會自動生成sql 語句,而ibatis 則要求開發者編寫具體的sql 語句。相對hibernate而言,ibatis 以sql開發的工作量和數據庫移植性上的讓步,為系統設計提供了更大的自由空間。

五.系統維護或者二次開發

當系統維護或者二次開發,無法對數據庫結構做到控制和修改,那ibatis的靈活性將比hibernate更適合

六.海量數據

系統數據處理量巨大,性能要求極為苛刻,這往往意味著我們必須通過經過高度優化的sql語句(或存儲過程)才能達到系統性能設計指標。在這種情況下ibatis會有更好的可控性和表現。

七.自動化程度

ibatis需要手寫sql語句,也可以生成壹部分,hibernate則基本上可以自動生成,偶爾會寫壹些hql。同樣的需求,ibatis的工作量比 hibernate要大很多。類似的,如果涉及到數據庫字段的修改,hibernate修改的地方很少,而ibatis要把那些sql mapping的地方壹壹修改。

八.與數據映射關系

ibatis以數據庫字段壹壹對應映射得到的po和hibernte這種對象化映射得到的po是截然不同的,本質區別在於這種po是扁平化的,不像hibernate映射的po是可以表達立體的對象繼承,聚合等等關系的,這將會直接影響到妳的整個軟件系統的設計思路。

九.技術支持

hibernate現在已經是主流o/r mapping框架,從文檔的豐富性,產品的完善性,版本的開發速度都要強於ibatis

十.實現過程查看

1.hibernate配置,進行數據庫連接。

2.POJO與數據庫映射的xml文件介紹

3..得到sessionFactory我們就可以通過會話工廠操作數據庫

4、ibatis配置信息設置

5.POJO與數據庫的建立xml文件定義

6.加載ibatis配置文件,給client初始化

6.通過client操作數據庫

親,記得采納壹下哦

[數據捕快 大數據實驗室提供 ][datacaptor from aosustudio]

推薦解答(3)

都是java的壹種框架,hibernate靠的是hql語言,面向的是object,ibatis靠的是sql語言,更接近數據庫,配置比hibernate靈活,也比hibernate效率高

  • 上一篇:模擬競賽槍答 匯編
  • 下一篇:我想和淄博火炬能源有限公司合作,他的實力如何?
  • copyright 2024編程學習大全網