欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JPA、Hibernate和Spring Data JPA

程序员文章站 2022-04-25 19:31:04
...

不多说了,直接步入主题。

什么是JPA?

全称Java Persistence API,可以通过注解或者XML描述(对象-关系表)之间的映射关系,并将实体对象持久化到数据库中。

它为我们提供了什么:

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

Hibernate!

说到这里了,JPA其实就是一种规范,也就是说JPA仅仅定义了一些接口,而接口是需要实现才能工作的。所以底层需要某种实现,而Hibernate就是实现了JPA接口的ORM框架。

说白了吧,JPA是一套ORM规范,Hibernate实现了JPA规范!

什么是Spring Data JPA?

Spring Data JPA是Spring提供的一套简化JPA开发的框架,按照约定好的写Dao层接口,就可以在不写接口实现的情况下,实现对数据库的访问和操作。同时提供了很多除了CRUD之外的功能,如分页、排序、复杂查询等等。

SpringBoot!

SpringBoot集成Spring Data JPA很简单,只需两步:
第一步:导入maven

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

第二步:配置jpa信息

spring:
    datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost/xxx?useSSL=false&characterEncoding=utf8&serverTimezone=GMT%2B8
        username: root
        password: 12345
 
    jpa:
        database: mysql
        show-sql: true
        hibernate:
            ddl-auto: update