什么是Spring Data Jpa?
它是Spring基于ORM框架、JPA規范封裝的一套JPA應用框架,可以使開發者用極簡的代碼即可實現對數據的訪問和操作。簡單的講就是CRUD等常用操作通過它就能輕松實現,可以有效提高開發效率。
Spring Data Jpa的結構
主要接口
- Repository : 最頂層的接口,是一個空接口,目的是為了統一所有的Repository的類型,且能讓組件掃描的時候自動識別。
- CrudRepository : Repository的子接口,提供crud的功能。
- PagingAndSortingRepository : CurdRepository的子接口,提供分頁排序的功能。
- JpaRepository : PagingAndSortingRepository的子接口,添加批量操作等功能
-
JpaSpecificationExector : 用來做復雜查詢的接口
image.png
SpringBoot整和Jpa
- pom文件引入依賴
引入依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
- 創建實體類
這里我沒有寫get、set方法,因為使用了@Data注解。
@Data是使用的lombok插件 它的作用是在編譯階段動態生成成員變量的getset方法和toString方法
詳細使用可以往后看
image.png
- 創建userDao,繼承jpaRepository,泛型的第一個參數為實體類,第二個為主鍵id的類型
JpaRepository本身已經實現了很多方法,它支持@Query注解寫HQL,也支持findAllByUsername這種根據字段名命名的方式
【常用詞如下表】
類型 | 栗子 |
---|---|
全局修飾 |
Distint Top First
|
關鍵詞 |
IsNull IsNotNull Like NotLike Containing
|
排序方向 |
Asc Desc
|
連接詞 |
And Or
|
image.png
介紹下lombok插件的使用
1、idea--> setting-->plugins搜索lombok,并install
2、pom文件增加lombok依賴
想了解詳細使用可以去看http://www.lxweimin.com/p/2ea9ff98f7d6
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
更多內容參考官方文檔