一、Hibernate框架简介
Hibernate是对JDBC的进一步封装。它的一个主要出发点就是希望简化Java对象持久化的编程。因为直接使用JDBC时需要程序员编写大量繁杂的代码。
Hibernate是一个开源的ORM(对象-关系映射)框架,它的作用就是在POJO(普通JAVA对象)和关系型数据库之间做一个映射,把关系型数据库的字段与内存中java对象的属性做映射。这样,程序员在操作数据库的时候,就不用再写复杂的sql语句,就可以完成操作数据库的工作。
Hibernate框架是持久层框架,作用是将JAVA对象持久化到数据库中。
Hibernate不要求程序员将POJO一一映射到数据库表,可以多个表对应一个POJO,也可以将多个POJO持久化到一个表中。
二、Hibernate框架的核心组件
- Configuration类:它用来读取Hibernate的配置文件,并生成SessionFactory对象。Hibernate的配置文件有全局配置文件(hibernate.properties或hibernate.cfg.xml)和映射文件(*.hbm.xml)。
- SessionFactory接口:用来产生Session对象。
- Session接口:用来操作POJO。
- Query接口:用来对POJO进行查询操作。
- Transaction接口:用来管理Hibernate事务。
其实刚开始对于Hibernate的这些核心组件混个脸熟就行,因为既然是核心组件,以后肯定经常用到。
三、Hibernate的运行过程
上图是Hibernate的运行过程。大致过程是:
- 由Configuration类读取配置文件,包括数据库用户名、密码等;
-
SessionFactory生成Session对象,可以用Session对象生成Transaction对象进行事务操作,也可以用Session对象生成Query对象,执行查询操作,其实还有Criteria可以执行查询操作。
步骤:
- 决定你有哪些POJO需要持久化;
- 为每个需要持久化的POJO编写Hibernate XML映射文件(或者使用注解的方式,本次使用XML映射文件);
- 在pom.xml中引入Hibernate依赖;
- 编写Hibernate XML配置文件,配置数据库用户名、密码和第2步编写的映射文件;
- 使用模式导出工具导出DDL(创建数据库的语句)用于创建数据库;
- 在Java应用程序中创建Hibernate Configuration对象,这个对象会加载XML配置文件;
- 在Java应用程序中从Configuration对象创建一个SessionFactory对象;
- 从SessionFactory获取Session对象,用于为应用程序编写数据库访问逻辑(增删改查)。