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)訪問資料順序是:一級快取——》二級快取——》資料庫。