什么是ORM?
ORM就是 (object relational mapping),对象关系映射,将关系型数据库中的表转化为对象来进行处理,
数据表就是一个类,表的一行就是一个对象,一行的每个字段就是属性;
1、什么是Hibernate
Hibernate核心内容是 ORM (关系模型对象)。可以将对象自动生产数据中的信息,
使得开发更加面向对象,这样作为程序员,就可以使用面向对象的思想操作数据库,
而不用关心繁琐的JDBC;
2、 Hibernate 和 JDBC 的区别
从功能上来看JDBC 就是简单的数据库连接,然后创建statement执行对象,将SQL语句传给statement执行对象去执行,然后返结 果,如果是查询会将结果返回ResultSet结果集中,
通ResultSet 遍历获取数据;
Hibernate 就是将数据库中的数据表映射为持久化的对象,实现数据的完全控制;
MyBatis就是将数据输入的参数映射为 java对象,放弃了对数据表的完全控制,
但是获得了灵活性,和响应性能更快的优势;
使用上看来的话,如果进行底层的编码,而且对性能要求高的话用JDBC
如果对数据库完全控制,使用Hibernate
如果对灵活性等就用Mybatis
3、SQL 和 HQL的对象的区别
SQL 面向数据库查询
HQL 面向对象查询
4、什么是缓存:
并不是指计算机的内存或者CPU的一二级缓存;缓存是指为了降低应用程序对物理数据源访问的频次从而提高应用程序的运行性能的一种策略。
5、二、为什么使用缓存:1.ORM框架访问数据库的效率直接影响应用程序的运行速度,提升和优化ORM框架的执行效率至关重要;
2.Hibernate的缓存是提升和优化Hibernate执行效率的重要手段,所以学会Hibernate缓存的使用和配置是优化的关键;
3.评判一个ORM框架是否优秀,访问数据库的频次就一个重要的标准;
6、介绍一级缓存:
1.Hibernate一级缓存又称为"Session缓存","会话级缓存"
2.通过Session从数据库查询实体时把实体在内存中存储起来,下一次查询同一实体时不再从数据库获取,
而是从内存中获取,这就是缓存
3.一级缓存的生命周期和Session相同;Session销毁,他也销毁
4.一级缓存中的数据可适用范围在当前会话之内
7、二级缓存的介绍
1.二级缓存又称为“全局缓存”、“应用级缓存”;
2.二级缓存中的数据可使用范围是当前应用的所有会话;
3.二级缓存是可插拔式缓存,默认是EHCache,还支持其他二级缓存组件如:HashTable、OSCache、SwarmCache等。