鍍金池/ 教程/ Java/ iBATIS和Hibernate區(qū)別
iBATIS和Hibernate區(qū)別
iBATIS刪除操作
iBATIS存儲(chǔ)過(guò)程
iBATIS讀取操作
iBATOR介紹,什么是iBATOR?
iBATIS創(chuàng)建操作
ibatis
iBATIS調(diào)試
iBATIS配置環(huán)境
iBATIS結(jié)果映射
iBATIS動(dòng)態(tài)SQL
iBATIS介紹,iBATIS是什么?
iBATIS更新操作

iBATIS和Hibernate區(qū)別

iBatis和Hibernate之間有著較大的差異,但兩者解決方案很好,因?yàn)樗麄冇刑囟ǖ念I(lǐng)域。我個(gè)人建議使用iBATIS的,如果:

  • 你想創(chuàng)建自己的SQL,并愿意維持他們.

  • 你的環(huán)境是由關(guān)系數(shù)據(jù)模型驅(qū)動(dòng)的。

  • 你的項(xiàng)目工作有復(fù)雜架構(gòu)的。

簡(jiǎn)單地要使用Hibernate,如果:

  • 你的環(huán)境是由對(duì)象模型驅(qū)動(dòng)的,并希望自動(dòng)生成的SQL。

要計(jì)算的一些區(qū)別:

  • iBATIS :
    • 簡(jiǎn)單

    • 更快的開(kāi)發(fā)時(shí)間

    • 靈活

    • 封裝尺寸更小

  • Hibernate:
    • 為你生成SQL,這意味著你不用花時(shí)間在SQL上。

    • 提供了許多更先進(jìn)的高速緩存

    • 高可擴(kuò)展性

另一個(gè)區(qū)別是,iBATIS利用SQL語(yǔ)句可能是依賴數(shù)據(jù)庫(kù),使用Hibernate的HQL是相對(duì)獨(dú)立于數(shù)據(jù)庫(kù),它是更容易改變數(shù)據(jù)庫(kù)。

Hibernate映射的Java作為POJO對(duì)象,iBatis將ResultSet映射,從JDBC API給出POJO OBJETS的數(shù)據(jù)庫(kù)表。

如果您使用存儲(chǔ)過(guò)程,那么在Hibernate中可以做到這一點(diǎn),但它在iBATIS比較有點(diǎn)困難。作為一種替代的解決方案iBATIS的映射結(jié)果集對(duì)象,所以沒(méi)必要去關(guān)心表結(jié)構(gòu)。這非常適用于存儲(chǔ)過(guò)程,非常適用于報(bào)表應(yīng)用程序等

最后,Hibernate和iBATIS的都是開(kāi)源的對(duì)象關(guān)系映射(ORM)在同行業(yè)中可用的工具。使用這些工具的取決于你。Hibernate和iBatis兩者也有來(lái)自Spring框架的良好支持,以便它不應(yīng)該是一個(gè)問(wèn)題,選擇其中之一。