Hibernate简介
Hibernate是一个ORM框架,Hibernate实现了Java对象与关系数据库记录的映射关系,对JDBC做了轻量级的封装,简化了数据访问层编码。
Hibernate支持各种关系数据库,有了Hibernate就不需要写jdbc代码了,直接调用hibernate的方法就可以了,比如save、get等,简化了操作数据库。
Hibernate的核心组件
1.Hiberbate配置文件
主要用来配置数据库连接参数,它有两种格式:hibernate.properties和hibernate.cfg.xml,通常使用后者。
2.持久化对象(PO)
可以是普通的JavaBean。
3.映射文件
用来把PO与数据库中的数据表映射起来,是hibernate的核心文件。
4.Configuration类
用来读取Hibernate配置文件和映射文件,并创建SessionFcatory对象。
5.SessionFactory接口
产生Sessio实例的工厂,是Hibernate的容器
6.Session接口
用来操作PO,它有get() save() update() delete()等方法,用来对PO进行加载、保存、更新及删除等操作,是hibernate的核心接口。
7.Transaction接口
用来管理Hibernate事物,主要方法有commit()和rollback(),可从Session的beginTransaction()方法生成。
8.Query接口
对PO进行查询操作。
Hibernate的工作原理
Hibernate工作流程如下图所示:
主要分为如下9个步骤:
1)读取并解析配置文件;
读取并解析hibernate.cfg.xml配置文件
2)读取并解析映射信息:hibernate.cfg.xml中的读取并解析映射信息;
3)创建SessionFactory;
SessionFactory sf = config.buildSessionFactory();
4)打开Sesssion;
Session session = sf.openSession();
5)创建并启动事务;
Transaction tx = session.beginTransaction();
6)操作数据库,并持久化操作;
persistent operate
7)提交事务;
tx.commit();
8)关闭Session;
9)关闭SesstionFactory
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》