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的延迟加载用到)