1.Spring Data JPA简介
- JPA(Java Persistence API)Java持久化API,是 Java 持久化的标准规范,Hibernate是持久化规范的技术实现,而Spring Data JPA是在 Hibernate 基础上封装的一款框架。
- 详解Spring Data JPA 及高级运用请点击
2.Spring Data JPA配置流程
①配置pom.xml文件依赖
<!--JPA-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--MySQL数据库连接-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
②Spring Boot配置文档配置:[yml和properties的对比]
spring:
# 数据源配置
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/user?useSSL=false&serverTimezone=UTC
username: root
password: root
# JPA配置
jpa:
# 设置数据库引擎为InnoDB
database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
# 数据库类型
database: mysql
# 打印SQL语句,方便调试
show-sql: true
hibernate:
#自动更新数据库表结构
ddl-auto: update
③创建测试用User类
@Entity
@Table(name = "t_user") // name的值为数据库表格名称
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY) //GenerationType.IDENTITY代表主键自增
private Integer id;
@Column
private String username;
@Columnt
private String password;
// SET/GET/构造函数及toSting重写省略
④创建测试用IUserDao接口
@Repository
public interface IUserDao extends JpaRepository<User,Integer> {}
⑤创建JPA功能测试类
@SpringBootTest
@RunWith(SpringRunner.class)
public class UserTest {
@Autowired
IUserDao userDao;
@Test
public void test01(){
List<User> userList =userDao.findAll();
for (User user : userList) {
System.out.println(user);
}
}
}
⑥测试结果
成功读取数据库中所有数据,即JPA基本配置完成