JPA

JPA

ORM概述

ORM(Onject-Relational Mapping)表示对象关系映射。在面向对象的软件开发中利用ORM可以把对象==(class)映射成为关系型数据库中的一张表(table),对象中的属性(property)映射成为表中的一个字段(field)每一个对象(object)映射为表中的一行记录(record)==,从而达到操作实体类就相当于操作数据库中数据表的功能。
特点:

  • 让开发人员专注业务逻辑,提高了开发效率。
  • 直接操作对象,减少了对SQL的依赖,大大减少了对数据访问层的代码。
  • 在一定程度上牺牲了程序的执行效率。

常见的ORM框架:Mybatis 、Hibernate、JPA

JPA概述

JPA的全称是Java Persistence API,即Java持久化API,是SUN公司推出的一套基于ORM的规范,内部是由一系列的接口和抽象类构成。可以通过注解或者XML描述映射关系。
在这里插入图片描述

Hibernate概述

Hibernate是一个开源的对象关系映射框架,他对JDBC进行了非常轻量级的封装,他将POJO与数据库表建立映射关系,是一个全自动的ORM框架,Hibernate可以自动生成SQL语句,自动执行,是的Jvav程序员可以随心所欲使用面向对象编程思想操纵数据库。
下面是一个详细的 Hibernate 应用程序体系结构视图以及一些重要的类。
在这里插入图片描述
小结
ORM是什么?:对象关系映射,是一种实现使用对象操作数据库的设计思想。
JPA是什么?:是Java官方(SUN公司)制定的ORM方案的规范(标准)。
Hibernate是什么?:是实现JPA规范的一个框架。

spring data jpa概述

Spring Data JPA是Spring基于ORM框架,JPA规范的基础上封装的一套JPA应用框架。可以使开发者用极其简单的代码实现对数据库的访问和操作。它提供了CURD在内的常用功能,并且易于扩展。学习使用spring data jpa 可以极大的提高开发效率。
在这里插入图片描述
在实际的工作工程中,推荐使用Spring Data JPA+ ORM(Hibernate)完成操作。

学习JPA的三个重点

  • ORM映射元数据:JPA支持XML和注解两种元数据的格式,元数据描述对象和表的映射关系,框架据此将实体对象持久化到数据表中
  • JPA的API:用来操作实体对象,执行CURD操作,框架在后台替我们完成了所有的事情,开发者从繁杂的JDBC和SQL代码中解脱出来。
  • JPQL查询语言:通过面向对象而非面向数据库的查询语言查询数据,避免程序和SQL语句紧密耦合。

快速入门

  1. 引入坐标依赖
    使用Spring Data JPA需要整合Spring与Spring Data JPA,并且需要提供JPA的服务提供者Hibernate。
    <properties>
        <spring.version>4.2.4.RELEASE</spring.version>
        <hibernate.version>5.0.7.Final</hibernate.version>
        <slf4j.version>1.6.6</slf4j.version>
        <log4j.version>1.2.12</log4j.version>
        <c3p0.version>0.9.1.2</c3p0.version>
        <mysql.version>5.1.6</mysql.version>
    </properties>

    <dependencies>
        <!-- junit单元测试 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.9</version>
            <scope>test</scope>
        </dependency>
        
        <!-- spring beg -->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.6.8</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${spring.version}</version>
        </dependency>

        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值