一、先說底層:java
a)Jdbc:全稱java數據庫鏈接,是java語言用來規範客戶端如何訪問數據庫的程序接口。sql
b) 通常步驟:數據庫
i.加載驅動程序 ii.得到數據庫鏈接誒 iii.建立Statement或者PrepareStatement對象,實現增刪改查
二、爲了減小編寫jdbc編寫工做,提出了orm模型:hibernate和mybatis緩存
a)Hibernate是全表映射框架。session
i.優勢:對jdbc封裝較好,有hql能夠自動生成sql語句。 ii. 缺點:對多表關聯 複雜查詢支持較差,不支持存儲過程,不能知足開發者優化sql語句的願望
b) Mybat是半自動映射框架mybatis
i.缺點:手動編寫sql語句,以及映射關係,工做量大 ii.優勢:有動態sql機制,能夠優化sql語句,支持存儲過程
一、why:hibernate是持久層框架,常常訪問物理數據庫。爲了較少對數據庫的訪問,提升數據庫訪問性能,加入了hibernate緩存機制。併發
二、what:hibernate包括一級緩存和二級緩存。框架
a)一級緩存:又叫session的緩存,是事物範圍的緩存,默認開啓;性能
b)二級緩存:又叫sessionfactory的緩存,默認關閉。二級緩存存放數據通常是不常常修改的數據,不會被併發訪問的數據,常量數據;優化
c)訪問數據順序是:一級緩存——》二級緩存——》數據庫。