(针对初学者)Spring Data JPA的基础知识
由于在学习Spring Boot的过程中,我有机会使用Spring Data JPA,所以我打算顺便复习一下并分享一下。
Spring Data JPA指的是什么?
Spring Boot是一种可以访问数据库的库/框架。
在Spring Data JPA中,内部实现了Hibernate(Hibernate)库,它可以将Java类和数据库表连接在一起。
让我们尝试使用Spring Data JPA自动生成数据库。
这次我们将尝试连接MySQL和Spring Data JPA,同时也可以当作练习。
在MySQL中进行数据库的配置。
创建数据库。
create database db_sample;
用户和密码的设置
create user 'username'@'localhost' IDENTIFIED BY 'password';
权限设置
GRANT ALL PRIVILEGES ON * . * TO 'username'@'localhost';
※ 补充说明:
GRANT语句用于为设置的用户设置访问权限。
两个星号分别指定了数据库和表。
由于本次使用了星号,因此允许对所有数据库和表的访问。
重新加载所设置的权限
FLUSH PRIVILEGES;
创建项目
从「Spring Starter 项目」开始创建新项目。


package com.example.demo.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import lombok.Data;
@Data
@Entity
public class Sample {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
private String name;
}
通过在Bean类上添加@Data注解,可以省略以下代码:
• getter方法
• setter方法
• 重写hashcode方法
• 重写toString方法
• 重写equals方法
@Entity是一个注解,表示一个数据容器。
添加此注解表示该类是一个实体类。
@Id是一个注解,用于指示Entity的主键。
给@Id加上注解后,将被假定为主表的主键列。
@GeneratedValue是一个注解,用于指定在主键列中自动生成和分配唯一值的方法。它适用于拥有@Id注解的实体类等。
战略
指定用于生成实体类主键值的属性。
IDENTITY的GenerationType。
使用数据库的identity列来生成主键值。
创建application.properties文件
创建一个application/properties文件,并在其中填写以下内容以进行数据库配置。
spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://localhost:3306/db_sample
spring.datasource.username=username
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
◆ 春季.jpa.hibernate.ddl-auto
在Spring Boot启动时自动生成表格。 可以通过以下设置进行配置。
如果entity表存在,则删除并重新生成。
如果存在entity表,则删除它并重新生成。此外,在Springboot结束时删除表。
更新:
若实体表不存在,则创建之。
◆数据库连接地址 spring.datasource.url
请提供连接的URL。
◆数据源的用户名
指定MySQL中设置的用户名。
◆数据库密码
指定你在MySQL中设置的密码
◆数据库驱动程序类名:spring.datasource.driver-class-name
在使用JDBC驱动程序时,需要指定驱动程序的类名。
在MySQL中,需要指定com.mysql.cj.jdbc.Driver。

我成功地自动生成了!
文献引用