HIbernate:java
1.概念:ORMapping (對象關係映射)程序員
1)操做數據庫的框架,底層是經過JDBC操做數據庫的數據庫
2)用面向對象的方式操做數據庫緩存
2.JDBC的缺點:app
1)代碼繁瑣框架
2)不是面向對象的數據庫操做優化
3)資源關閉的代碼也很繁瑣spa
4)沒有作到數據庫緩存代理
5)移植性比較差(MySQL沒法移植到Oracle)xml
JDBC優勢:
1)由於是底層操做因此效率高
3.Hibernate
1)代碼比較精簡
2)是面向對象的數據庫操做
3)只須要關閉一個對象就能夠了(關閉Session)
4)數據緩存 (一級緩存、二級緩存、查詢緩存)
5)移植性比較好
缺點:
1)程序員沒法控制SQL語句的生成 (HQL語句能夠手寫SQL語句)
2)一個項目對SQL語句優化特別高,HIbernate則不適合
3)若是一張表的數據量特別大,則不適合HIbernate
====================數據庫和實體類的映射文件=============================
============================hIbernate.cfg.xml的配置文件========================================
=======================hIbernate須要的包===============================================
動態代理模式:JDK的動態代理(proxy)代理對象是在內存中產生的本質上字節碼生成的一個對象。
javassist.jar: 字節碼jar包。相似於產生動態代理對象的機制。主要操做字節碼文件的。和Java虛擬機直接相關的jar包(HIbernate的延遲加載用到)