持久化:将数据永久保存
hibernate 配置文件
hibernate 映射文件和实体类必须在一个文件夹里 映射文件和实体类文件同名
mybatis 映射文件(.xml)和实体类可以分开
面试题:
1、mybatis 和hibernate 的区别
2、Hibernate 工作流程
1.读取并解析配置文件。 2.读取并解析映射信息,创建SessionFactory
3.打开Session 4.创建事务Transaction 5.持久化操作
6.提交事务 7.关闭Session 8.关闭SessionFactory
3、什么是持久化
持久化就是把数据(如内存中的对象)同步保存到数据库或者某些存储设备中(如磁盘文件中、XML数据文件中)等等。
在软件的分层体系结构中,持久化层是与数据库打交道的逻辑层(DAO)
持久化层=数据库打交道的逻辑层=DAO
4、Hibernate 查询中get和load 的区别
get支持缓存查询 找不到id 返回 null
load支持缓存查询 找不到id 返回 抛出异常
课上笔记:
1、实体类,和映射的xml文件,必须是在一个package 下,
2、实体类,必须和映射的xml文件同名
3、映射的xml的后缀:hbm.xml
一、JDBC的局限性:
1.小型的应用开发,使用JDBC也许感觉还不错,
典型应用开发而言,单凭JDBC就显得有些力不从心了,
例如,从上百张拥有几十个字段的数据表中获取数据的话,可以想象要写多少个getter方法来完成数据读取的操作,而且复用性很低,出错的几率大
2.对于多层架构的系统,使用JDBC很难将持久层进行分离,负责业务逻辑代码必须密切关注数据库各表的结构关系,确保SQL语句的正常工作。
如果引入Hibernate持久层中间件,业务逻辑层的开发整天面对一个又一个的对象,不必关心数据表,既有利于团队分工协作,又提高了软件产品的可移植性。
3.从易用性与高效性角度来说,JDBC在记录的批量操作、多表连接、表单级联方面表现并不优秀,Hibernate对此提供了自己的解决方案,使得与数据库层的交互既高效又稳定。
二、ORM的优势
Hibernate是一个开源的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以用对象来操纵数据库。
2、Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,完成数据持久化的重任。 3、Hibernate 使用 Java 反射机制 而不是字节码增强程序来实现透明性。
4、Hibernate 的性能非常好,因为它是个轻量级框架。 映射的灵活性很出色。
5、它支持各种关系数据库,从一对一到多对多的各种复杂关系。
三、