课程提纲 口第一部分Java EE基础 口第二部分Java Web:开发 口第三部分JSF框架 口第四部分EJB 口第五部分JPA ◆第12章Java持久化API(UPA)概述与基础应用 JPA (Java Persistence API) 口第六部分SSH框架 Java EE技术 ·1。西北农林彩教大学信息工程学院本科生课程
课程提纲 第一部分 Java EE基础 第二部分 Java Web开发 第三部分 JSF框架 第四部分 EJB 第五部分 JPA ◆第12章 Java持久化API (JPA) 概述与基础应用 JPA (Java Persistence API) 第六部分 SSH框架 Java EE技术 •1 信息工程学院本科生课程
主要内容 JPA相关的基本概念: ·什么是JPA 。 为什么需要使用JPA ·如何使用JPA JPA基础应用: 。JPA应用之前的准备 。配置数据库信息 ·编写实体类 。 编写测试程序(CRUD) 在MyEcl ipse环境中开发JPA简单应用 JPA概述与基础应用 2。 西北农林科教大学信息工程学院本科生课程
主要内容 ❖ JPA相关的基本概念: • 什么是JPA • 为什么需要使用JPA • 如何使用JPA ❖ JPA基础应用: • JPA应用之前的准备 • 配置数据库信息 • 编写实体类 • 编写测试程序(CRUD) • 在MyEclipse环境中开发JPA简单应用 JPA概述与基础应用 •2 信息工程学院本科生课程
基本概念-持久(Persistence)操作 冬为不让程序运行过程中 的信息丢失,就须将保 内存 存这些信息于XWML文件 (数据量小时)或数据 数据 数据 数据 库(数据量大时)中; 。把程序运行过程中状态 信息进行保存供以后使 数据持久化 用的操作,称为持久化 (包括反过程); ”这里,持久操作指的是 文件 数据库 其他( 对数据库中信息的操作。 存储介质 JPA概述与基础应用 3。 品北农林升教大学信息工程学院本科生课程
❖ 为不让程序运行过程中 的信息丢失,就须将保 存这些信息于XML文件 (数据量小时)或数据 库(数据量大时)中; ❖ 把程序运行过程中状态 信息进行保存供以后使 用的操作,称为持久化 (包括反过程); ❖ 这里,持久操作指的是 对数据库中信息的操作。 基本概念 - 持久 (Persistence) 操作 JPA概述与基础应用 •3 信息工程学院本科生课程 内存 数据 数据 数据 存储介质 文件 数据库 其他 数据持久化
基本概念-JDBC ·JDBC提供了应用程序与数据库之间交互的统一接口。 不同数据库管理系统提供者会提供自己的JDBC驱动 程序,应用程序可使用不同的JDBC驱动程序与不同 的数据库系统进行交互。 基于教材p316中两段代码的比较可知JDBC的缺陷: ·大量的重复代码; ·不必要的SQL语句; ·OO与RDB之间的鸿沟。 =》各种持久框架,如Hibernate等。 JPA概述与基础应用 4。 西北农林科教大学信息工程学院本科生课程
❖ JDBC提供了应用程序与数据库之间交互的统一接口。 不同数据库管理系统提供者会提供自己的JDBC驱动 程序,应用程序可使用不同的JDBC驱动程序与不同 的数据库系统进行交互。 ❖ 基于教材p316中两段代码的比较可知JDBC的缺陷: • 大量的重复代码; • 不必要的SQL语句; • OO与RDB之间的鸿沟。 ===》各种持久框架,如Hibernate等。 基本概念 - JDBC JPA概述与基础应用 •4 信息工程学院本科生课程
相关概念-对象关系映射(ORM) 对象关系映射-ORM(Object,/Relation Mapping)。 ORM可理解为一种规范,完成对象到关系数据的映射。 。ORM完成:将数据库中的记录转换为内存中的对象, 以及把内存中的对象的状态更新到数据库中。 ~既利用了面向对象程序语言的现实业务直观性,又 利用了关系数据库管理复杂关系的优势。 JPA概述与基础应用 ·5。西北农林彩教大学信息工程学院本科生课程
❖ 对象关系映射 - ORM (Object/Relation Mapping)。 ❖ ORM可理解为一种规范,完成对象到关系数据的映射。 ❖ ORM完成:将数据库中的记录转换为内存中的对象, 以及把内存中的对象的状态更新到数据库中。 ❖ 既利用了面向对象程序语言的现实业务直观性,又 利用了关系数据库管理复杂关系的优势。 相关概念 – 对象关系映射 (ORM) JPA概述与基础应用 •5 信息工程学院本科生课程
ORM示意 运行期实体对象 JPA 关系数据库 持久化 实体类结构信息和元数据信 息JDK5.0注解或XML JPA概述与基础应用 ·6。西北农林科教大学信息工程学院本科生课程
ORM示意 JPA概述与基础应用 •6 信息工程学院本科生课程
ORM示例 客户实体 Customer类 -id int -name String -age int 表th_customer id name age 1 张三 21 Customer>对象 2 李四 20 -id =3 3 王五 22 -name =王五 age =22 JPA概述与基础应用 ·7。西北农林彩教大学信息工程学院本科生课程
ORM示例 JPA概述与基础应用 •7 信息工程学院本科生课程 id name age 1 张三 21 2 李四 20 3 王五 22 Customer类 - id : int - name : String - age : int Customer对象 - id = 3 - name = 王五 - age = 22 表 th_customer 客户实体
基于Java的持久框架 鉴于JDBC所存在的缺陷,出现了大量基于Java的持 久框架。这些持久框架通过封装JDBC操作以简化对 数据库的访问。 常见持久框架如TopLink、OpenJPA、Hibernate、 Ecl ipseLink等。基于教材p316-317中分别使用 Hibernate和iBatis两段代码。与之前的JDBC方式 相比更为简单,但仍然存在如下缺陷: 。不同的代码与配置; ·各种持久框架的学习曲线。 =》呼唤一种统一方式的持久化方法:JPA。 JPA概述与基础应用 ·8。品北农林科大学信息工程学院本科生课程
❖ 鉴于JDBC所存在的缺陷,出现了大量基于Java的持 久框架。这些持久框架通过封装JDBC操作以简化对 数据库的访问。 ❖ 常见持久框架如TopLink、OpenJPA、Hibernate、 EclipseLink等。基于教材p316-317中分别使用 Hibernate和iBatis两段代码。与之前的JDBC方式 相比更为简单,但仍然存在如下缺陷: • 不同的代码与配置; • 各种持久框架的学习曲线。 ===》呼唤一种统一方式的持久化方法:JPA。 基于Java的持久框架 JPA概述与基础应用 •8 信息工程学院本科生课程
什么是PA Java持久API(Java Persistence API,JPA)是提 供给Java应用通过持久提供者访问数据库的一组标 准的API。 ~与数据库的交互是通过处于中间层的持久提供者来 转发: 。用户首先把对数据库的操作请求提交给持久提供者; ·持久提供者使用相应的JDBC驱动将请求发送给DBMS; ·DBMS执行相应操作并返回结果给持久提供者; 。持久提供者把结果再返回给用户。 JPA概述与基础应用 ·9。品北农林升大学信息工程学院本科生课程
❖ Java持久API (Java Persistence API, JPA)是提 供给Java应用通过持久提供者访问数据库的一组标 准的API。 ❖ 与数据库的交互是通过处于中间层的持久提供者来 转发: • 用户首先把对数据库的操作请求提交给持久提供者; • 持久提供者使用相应的JDBC驱动将请求发送给DBMS; • DBMS执行相应操作并返回结果给持久提供者; • 持久提供者把结果再返回给用户。 什么是JPA JPA概述与基础应用 •9 信息工程学院本科生课程
PA框架原理 应用程序 JPA 持久性提供者+ 持久性提供者 持久性提供者 DBC驱动程序 JDBC驱动程序, DBC驱动程序 数据库 数据库 数据库 JPA概述与基础应用 •10。 西北农林科教大学信息工程学院本科生课程
JPA框架原理 JPA概述与基础应用 •10 信息工程学院本科生课程