Hibernate與mybatis比較

布林bl發表於2018-12-21

Hibernate與mybatis比較

1、先說底層:

  a)Jdbc:全稱java資料庫連線,是java語言用來規範客戶端如何訪問資料庫的程式介面。

  b) 一般步驟:

    i.載入驅動程式

    ii.獲得資料庫連線誒

    iii.建立Statement或者PrepareStatement物件,實現增刪改查
複製程式碼

2、為了減少編寫jdbc編寫工作,提出了orm模型:hibernate和mybatis

  a)Hibernate是全表對映框架。

    i.優點:對jdbc封裝較好,有hql可以自動生成sql語句。

    ii. 缺點:對多表關聯 複雜查詢支援較差,不支援儲存過程,不能滿足開發者優化sql語句的願望
複製程式碼

  b) Mybat是半自動對映框架

    i.缺點:手動編寫sql語句,以及對映關係,工作量大

    ii.優點:有動態sql機制,可以優化sql語句,支援儲存過程
複製程式碼

Hibernate快取機制

1、why:hibernate是持久層框架,經常訪問物理資料庫。為了較少對資料庫的訪問,提高資料庫訪問效能,加入了hibernate快取機制。

2、what:hibernate包括一級快取和二級快取。

  a)一級快取:又叫session的快取,是事物範圍的快取,預設開啟;

  b)二級快取:又叫sessionfactory的快取,預設關閉。二級快取存放資料一般是不經常修改的資料,不會被併發訪問的資料,常量資料;

  c)訪問資料順序是:一級快取——》二級快取——》資料庫。

相關文章