ad

打开《Java+EE应用开发实践教程》_读懂新的设计思路_2.3 实验七 Hibernate 持久层开发框架

admin 67 2023-10-25

【摘要】 本书摘自《Java+EE应用开发实践教程》一书中第2章,第3节,由涂祥著。

实验七 Hibernate 持久层开发框架

一、实验目的

1.理解和掌握ORM 概念。

打开《Java+EE应用开发实践教程》_读懂新的设计思路_2.3 实验七 Hibernate 持久层开发框架

2.掌握 Hibernate框架概念及工作原理。

3.掌握 Hibernate 编程接口和实现方法。

4.掌握 Hibernate的关系映射。

二、基础知识

1.ORM 概念。

ORM 指的是“对象/关系映射”,是应用程序和数据库的桥梁,它可把关系型数据 包装成面向对象的模型,而完成这种从关系数据到对象模型映射的工具就是ORM 框 架。ORM 框架是面向对象程序设计语言与关系数据库发展不同步时的中间解决方案。 当我们采用ORM 框架后,应用程序就不再直接访问底层数据库,而是以面向对象的方 式来操作持久化对象,然后由 ORM 框架将这些面向对象的操作转化成底层的 SQL 操作。

ORM 解决的主要问题就是对象一关系的映射。域模型和关系模型都分别建立在 概念模型的基础上。域模型是面向对象的,而关系数据模型是面向关系的。 一般情况 下, 一个持久化类和一个表对应,类的每个实例对象对应表中的一条记录。

2.Hibernate 框架。

Hibernate是一个免费的开源 Java包,是目前最流行的ORM 框架之一,它是一个 面向Java环境的ORM 工具。它使得程序与数据库的交互变得十分容易,更加符合面 向对象的设计思想,像数据库中包含普通Java 对象一样,而不必考虑如何把它们从数据 库表中读出或者写入,使得开发人员可以专注于应用程序的对象和功能,而不必关心如 何在数据库中保存或查找这些对象。甚至在对 SQL 语句完全不了解的情况下,使用 Hibernate仍然可以开发出优秀的包含数据库访问的应用程序。目前最新 Hibernate版 本是 Hibernate 5。3.Hibernate实现步骤。

运用Hibernate框架使得我们只需专注于面向对象的程序编程,而对于对象的数据 库操作可交由ORM 去完成。通常使用 Hibernate框架的步骤如下。

(1)加载 Hibernate类库。

(2)加载相应的数据库驱动包。

(3)创建 Hibernate的配置文件

(4)创建持久化类。

(5)创建对象一关系映射文件。

(6)通过 Hibernate API编写数据库访问代码。

4.Hibernate 核心接口。

(1)Configuration 接口,用于配置和启动 Hibernate,以及创建 SessionFactory对象。 调用方法如下所示。

Configuration config=new Configuration().configure();

默认情况下 Hibernate会去 classPath 下加载 hibernate.cfg.xml文件,如果你没有 采用默认的配置文件名,那么你就需要在 configurate()方法里面带上你的配置文件名。 例如下面的方式。

File file = new File("simpleit.xml");

Configuration cfg = new Configuration().configure(file);

(2)SessionFactory 接口,用于初始化 Hibernate,充当数据存储源的代理,创建 Session对象。 SessionFactory不是轻量级的,因为一般情况下, 一个项目通常只需要一 SessionFactory,当需要操作多个数据库时,可以为每个数据库指定一个 Session Factory,其调用方法如下所示。

Configuration configiguration = new Configuration().configure();

Service Registry Builder builder = new Service Registry Builder().apply Settings (configiguration.get Properties());

Service Registry registry = builder. build Service Registry();

factory = configiguration. build Session Factory(registry);

(3)Session接口,用于负责执行被持久化对象的CRUD 操作,所有持久层的操作数 据都缓存在 session 对象中,相当于 JDBC 中的 Connection。 需要注意的是,Session的 设计是非线程安全的,即一个 Session实例同时只可由一个线程使用。 Session 实例由 SessionFactory构建,构建方式如下。

Session session = sessionFactory. openSession();

(4)Transaction接口,是对 Hibernate 中的事务进行管理的接口,事务对象通过 Session 创建,例如以下语句。

Transaction ts = session, beginTransaction();

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:打开《Java语言程序设计与应用》_从基础向熟练进发_1.1.4 Java 虚拟机
下一篇:《基于Kubernetes的容器云平台实战》_了解最新技术前沿_4.1 Docker Registry
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×