写在前面的话
1、参考学习自:https://blog.youkuaiyun.com/howard2005/article/details/107935141
2、内容如果有不对的,希望可以指出或补充。
3、课堂回顾。
一、操作
JPA(Java Persistence API):Java持久层API。是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
Spring Data JPA:是Spring基于ORM框架、JPA规范的基础上封装的一套JPA应用框架,它提供了增删改查
等常用功能,使开发者可以用较少的代码实现数据操作,同时还易于扩展。
(一)Spring Boot整合JPA
1、创建spring boot项目jpademo(项目初始化),其中需要注意的部分如下:
2、创建(具体参照参考学习链接内容)
创建如下几个实体类(ORM实体类)、接口(自定义JpaRepository接口)、测试类
【包含到了JPA实现个性化操作部分的评论仓库接口以及测试】:
- ORM(Object Relational Mapping):对象关系映射,用于实现面向对象编程语言里不同类型系统的数据之间的转换。
- Repository: 仅仅是一个标识,表明任何继承它的均为仓库接口类 。
3、依赖及配置
pom.xml文件(数据源依赖):
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>net.ch.lesson07</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>JpaDemo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--添加阿里巴巴数据源依赖-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.6</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
application.properties文件(配置数据源):
测试效果展示
结果如下:
testFindAll()
testFindById()
(二)利用JPA实现个性化操作
其中较为重要(对于我个人而言)展示如下-根据文章编号分页查询评论↓
测试效果展示
结果如下:
testFindCommentPagedByArticleId01()