Spring Data JPA访问MySQL数据
《Spring Data JPA访问MySQL数据》共 0.2 万字,通篇围绕 数据库、MySQL、Redis、架构 展开,归在「后端与系统架构」这一层。
适合给 AI 系统搭底座、要管得住的人
目录骨架(6 节)
- Spring Data JPA使用:
- Spring Data新特性
- Spring Data架构
- Spring Data核心模块
- SpringDataJPA结合MySQL
- 1.5 Spring Data JPA框架
JPA(Java Persistence API)用于对象持久化的 API,是 Java EE 5.0 平台标准的 ORM 规范,使得应用程序以统一的方式访问持久层。
JDBC 也是一种规范和接口,不过 JDBC 是面向 SQL 的,使用起来比较繁琐。所以就有了 ORM 框架,建立了 Java 对象与数据库表之间的映射关系,可以通过直接操作对象来实现持久化,简化了操作的繁杂度。而 JPA 就是 ORM 框架的规范,值得一提的是 Hibernate 是符合 JPA 规范的,而 MyBatis 却不符合,因为 MyBatis 还是需要写 SQL 的。
虽然HIbernate用的人越来越少了,但是JPA这种统一的标准化接口在我们开发工作中仍然有重要意义。我们首先看下JDBC示意图:

JPA示意图

Spring Data JPA使用:
在开始使用Spring Data JPA之前,我们需要进行一些配置。首先,我们需要添加Spring Data JPA的依赖项。打开项目的pom.xml文件,并在<dependencies>标签中添加以下依赖:
<dependencies>
<!-- Spring Data JPA依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
</dependencies>
接下来,我们需要在项目的配置文件中进行数据源和JPA的相关配置。打开application.properties文件(或者application.yml文件),并添加以下配置:
# 数据库连接配置
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=password
# JPA配置
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
在这里,我们配置了数据库的连接信息以及JPA的一些属性。确保将spring.datasource.url中的mydatabase替换为你自己的数据库名称,并根据实际情况修改用户名和密码。
定义实体类和Repository接口
在使用Spring Data JPA进行数据访问之前,我们需要定义实体类和Repository接口。
首先,我们需要定义实体类,它们代表了数据库中的表。在这个示例中,我们创建一个名为"User"的实体类:
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private String password;
// 构造函数、Getter和Setter方法
}
在这里,我们使用了@Entity注解将这个类标记为JPA实体,@Id注解表示该属性为主键,@GeneratedValue注解指定了主键的生成策略。
接下来,我们需要定义Repository接口,它是用于进行数据库操作的接口。在这个示例中,我们创建一个名为"UserRepository"的接口:
import org.springframework.data.jpa.repository.JpaRepository;
import com.example.model.User;
public interface UserRepository extends JpaRepository<User, Long> {
User findByUsername(String username);
}
在这里,我们继承了JpaRepository接口,并指定了实体类类型和主键的类型。通过继承JpaRepository接口,我们就拥有了许多常用的数据访问方法,例如插入、查询、更新和删除等。
使用Spring Data JPA进行数据访问
一旦我们完成了Spring Data JPA的配置和Repository接口的定义,我们就可以使用它进行数据访问了。
