Hibernate框架
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库
Hibernate的优点
对JDBC访问数据库的代码做了封装,非常简化了数据访问层繁琐的重复性代码
Hibernate是一个机遇JDBC的主流持久化框架,是一个非常优秀的ORM实现。能够非常多大程度的简化DAO层的编码工具
Hibernate使用Java反射机制,而不是通过字节码增强程序来实现透明性
Hibernate的性能非常好,因为它是个轻量级框架,映射的灵活性很出色,支持各种关系数据库和多种复杂关系
那么什么是ORM框架
ORM,就是对象-关系映射,面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系型数据库更应用环境中永久存放数据的主流数据存储系统,对象和关系数据是业务的两种表现形式,因此ORM系统一般以中间件的形式存在,主要实现持续对象到关系型数据库数据的映射
Hibernate的工作原理
通过Configuration config = new Configuration().configure();//读取并解析hibernate.cfg.xml配置文件
由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射信息
通过SessionFactory sf = config.buildSessionFactory();//创建SessionFactory
Session session = sf.openSession();//打开Sesssion
Transaction tx = session.beginTransaction();//创建并启动事务Transation
persistent operate操作数据,持久化操作
tx.commit();//提交事务
关闭Session
关闭SesstionFactory
Hibernate的缓存机制
一级缓存就是 Session 级别的缓存,在事务范围内有效是,内置的不能被卸载。二级缓存是 SesionFactory级别的缓存,从应用启动到应用结束有效。是可选的,默认没有二级缓存,需要手动开启。保存数据库后,缓存在内存中保存一份,如果更新了数据库就要同步更新。
那么什么数据适合放在二级缓存呢
较少被修改的数据,例如:帖子最后回复时间
基础被查询的数据
不是很重要的数据,允许出现偶尔并发的数据
不会被并发访问的数据
常量数据
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341