JDBC、JDBCTemplate、MyBatis、Hiberante 比較與分析


JDBC (Java Data Base Connection,java數據庫連接)

JDBC(Java Data Base Connection,java數據庫連接)是一種用於執行SQL語句的Java API,可以為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成.JDBC提供了一種基准,據此可以構建更高級的工具和接口,使數據庫開發人員能夠編寫數據庫應用程序

  • 優點:運行期:快捷、高效
  • 缺點:編輯器:代碼量大、繁瑣異常處理、不支持數據庫跨平台

JDBCTemplate

JdbcTemplate針對數據查詢提供了多個重載的模板方法,你可以根據需要選用不同的模板方法.如果你的查詢很簡單,僅僅是傳入相應SQL或者相關參數,然后取得一個單一的結果,那么你可以選擇如下一組便利的模板方法

  • 優點:運行期:高效、內嵌Spring框架中、支持基於AOP的聲明式事務
  • 缺點:必須於Spring框架結合在一起使用、不支持數據庫跨平台、默認沒有緩存

MyBatis

MyBatis的前身就是iBatis,iBatis本是apache的一個開源項目,2010年這個項目由apahce sofeware foundation 遷移到了google code,並且改名

總體來說 MyBatis 主要完成兩件事情

  1. 根據JDBC 規范建立與數據庫的連接
  2. 通過Annotaion/XML+JAVA反射技術,實現 Java 對象與關系數據庫之間相互轉化

MyBatis優缺點如下:

  • 優點: 高效、支持動態、復雜的SQL構建, 支持與Spring整合和AOP事務、結果集做了輕量級Mapper封裝、支持緩存
  • 缺點:不支持數據庫跨平台, 還是需要自己寫SQL語句

Hibernate

Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫. Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用

Hibernate的核心類和接口一共有6個, 分別為:Session、SessionFactory、Transaction、Query、Criteria和Configuration這6個核心類和接口在任何開發中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務控制

Criteria是一種比hql更面向對象的查詢方式。Criteria 可使用 Criterion 和 Projection 設置查詢條件.可以設置FetchMode(聯合查詢抓取的模式)設置排序方式,Criteria 還可以設置 FlushModel(沖刷 Session 的方式)和LockMode

1 Criteria crit = sess.createCriteria(Cat.class);
2 crit.setMaxResults(50);
3 List cats = crit.list();

 

Java事務API(JTA:Java Transaction API)和它的同胞Java事務服務(JTS:Java Transaction Service)為J2EE平台提供了分布式事務服務

視頻觀看地址:http://edu.51cto.com/index.php?do=lesson&id=84574


免責聲明!

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



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