![Spring Data JPA从入门到精通](https://wfqqreader-1252317822.image.myqcloud.com/cover/731/26793731/b_26793731.jpg)
上QQ阅读APP看书,第一时间看更新
1.4 Spring Data JPA的主要类及结构图
(1)我们需要掌握和使用到的类。
七个Repository接口:
- Repository (org.springframework.data.repository)
- CrudRepository (org.springframework.data.repository)
- PagingAndSortingRepository (org.springframework.data.repository)
- QueryByExampleExecutor (org.springframework.data.repository.query)
- JpaRepository (org.springframework.data.jpa.repository)
- JpaSpecificationExecutor (org.springframework.data.jpa.repository)
- QueryDslPredicateExecutor (org.springframework.data.querydsl)
两个实现类:
- SimpleJpaRepository (org.springframework.data.jpa.repository.support)
- QueryDslJpaRepository (org.springframework.data.jpa.repository.support)
(2)关系结构图如图1-5所示。
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P22_975.jpg?sign=1739533125-7Q6gNCAd1r2I82Ar6YxK8fY3iDgZ4u0r-0-153cfd7a212c4f8b51f8c5d6dd8f71d1)
图1-5
基本上都是我们要关心的类和接口,先做到心中大体有个数,后面章节我们会一一做讲解。
(3)需要了解的类,真正的JPA的底层封装类。
- EntityManager (javax.persistence)
- EntityManagerImpl (org.hibernate.jpa.internal)
1.5 MySQL的快速开发实例
以Spring Boot和Spring Jdbc为技术场景,选用MySQL来做一个实例。
(1)环境要求:
- JDK 1.8
- Maven 3.0+
- IntelliJ IDEA
(2)第一步:创建数据库并建立user表。
① 创建一个数据的新用户并附上权限:
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P22_1011.jpg?sign=1739533125-MxOLa9gMMe2IBDrGU2aLMCGI9YkNrhTL-0-9f381f043f98731554fd1e40f35f8cde)
② 创建一个表:
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P22_1012.jpg?sign=1739533125-dFuLLoD9cEYbOpfJmMJqByKzsesNb7w2-0-66e7a46f4c11bc7c1d5256c8ec01e806)
(3) 第二步:利用IntelliJ IDEA创建Example1,如图1-6、图1-7所示。
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P23_1054.jpg?sign=1739533125-hjfDk4E622epfzT1D6Ux4lAFy4furKzH-0-9c1185357b8b3567500ade540496e3b7)
图1-6
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P23_1058.jpg?sign=1739533125-BiDWhHjWsPCjnriRB2z0wWTSaQWPXcHH-0-2ce281111519e1d6ae3703af831c0683)
图1-7
上面的信息是Maven的pom里面所需要的,都可以修改,如图1-8所示。
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P24_1071.jpg?sign=1739533125-gsHAhACCRydM2U38KOkYMUSCpDuRy0GT-0-9b0a13987080fbca2d84e7be930813ab)
图1-8
选择JPA、MySQL和Web,一路Next然后完成得到一个工程。完成后结构如图1-9所示。
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P24_1076.jpg?sign=1739533125-S0ju6ImqCyAUCyHVtxoTg2lJegZXlJFm-0-1be0a7b1153bdc8c4e8b3718af83b9d3)
图1-9
(4)第三步:创建或者修改application.properties文件。在工程的sources下面,如src/main/resources/application.properties。内容如下:
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P24_1105.jpg?sign=1739533125-gwRQZUwYqBxVEH8TbRn9fNB0qLOtFQmm-0-c7df197c8f16932b627988ebb75fb487)
(5)第四步:创建一个@Entity。文件为src/main/java/example/example1/User.java。
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P25_1354.jpg?sign=1739533125-CucQeXe1vpfVSJvuOP1mmLOENfZcBF2T-0-df07ebfbcd717499c842d5d6bac6b235)
(6)第五步:创建一个Repository。文件为src/main/java/example/example1/UserRepository.java。
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P25_1355.jpg?sign=1739533125-8QXVdVzzaJtlNmECHdxiiver5hwUbAMW-0-86d1f1959acd267d9c9a9a36d0904e0f)
(7)第六步:创建一个Controller。
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P25_1356.jpg?sign=1739533125-UX2ESF413Td272KTiVeL1SCUI4nrT3s0-0-a8c570b5c9dcc2ecd4381b8bb7bb7230)
(8)第七步:直接运行Example1Application的main函数。打开Example1Application,内容如下:
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P26_1584.jpg?sign=1739533125-h3VZ5II3x68YUQhq8FmSClsK5P6IZ2rg-0-9470587e71415e970ce46551df6156e1)
这时已经可以看到效果了。