![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=1739215519-tCcRM5icwICgy5u8nKE5ZtM4HdB7boX7-0-e9954b9b8082270d3947e475372bfea4)
图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=1739215519-LKXxX7vCb7LerQFk7xyGsMSIcjgGqudZ-0-00329e116ba1a2f392b2b417c0134e1a)
② 创建一个表:
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P22_1012.jpg?sign=1739215519-WUkOLTLi4K8qwvuIHIgCWhFO5aCP098U-0-b9c6d8bae3a9ea4e166d11b0a12c7833)
(3) 第二步:利用IntelliJ IDEA创建Example1,如图1-6、图1-7所示。
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P23_1054.jpg?sign=1739215519-J1ljgORRIKIOISCPCsMVuEWHTre1qLK2-0-dbaadf5858fcfa16d08b4f0dfef25a98)
图1-6
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P23_1058.jpg?sign=1739215519-OT3Yih2vCbQsxh3B2KlK4oYCk7gmaWML-0-1a6e12c3998fe9b24c3bb631086ebbef)
图1-7
上面的信息是Maven的pom里面所需要的,都可以修改,如图1-8所示。
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P24_1071.jpg?sign=1739215519-af4IIaZUq143HyfL0ynBWVjQhKznSNBJ-0-bf6a4394a59a8ebaf1e5cb2aa567cd8c)
图1-8
选择JPA、MySQL和Web,一路Next然后完成得到一个工程。完成后结构如图1-9所示。
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P24_1076.jpg?sign=1739215519-xUXFOR8ygghDtcH3NDxic7UaTA3G7xJQ-0-207553ad05bac0fcafd0f30daad5fa1b)
图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=1739215519-Yg7Nsn2CQirQsioIGMiTJHV8CyYKMRC7-0-06d60569b3d1b964f9d54ef46d88a00a)
(5)第四步:创建一个@Entity。文件为src/main/java/example/example1/User.java。
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P25_1354.jpg?sign=1739215519-5HVa8jWvH9rNMOiVF4Lc2TcMq9cFdA83-0-65afb2101ef3edb9a49971b5c18a184e)
(6)第五步:创建一个Repository。文件为src/main/java/example/example1/UserRepository.java。
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P25_1355.jpg?sign=1739215519-86E8aPW2GtQEaYTXyBtICH5ISyoEUp7K-0-6a2f26c0b1dd924e46d807bf70acc06c)
(7)第六步:创建一个Controller。
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P25_1356.jpg?sign=1739215519-U3gzhnlbF1cUFVUERMaiNq5qvegauZiY-0-b5b8fe816ab4bfb42a7fc34aceaf4111)
(8)第七步:直接运行Example1Application的main函数。打开Example1Application,内容如下:
![](https://epubservercos.yuewen.com/4D44C0/15253387904117506/epubprivate/OEBPS/Images/Figure-P26_1584.jpg?sign=1739215519-1Hdzf0VLRcz3Lt34bhKVM8xfkxpNvDnB-0-f6479b0f4f274b9092916a2216126dbf)
这时已经可以看到效果了。