什么是Spring Data Jpa?
它是Spring基于ORM框架财松、JPA規(guī)范封裝的一套JPA應(yīng)用框架涵亏,可以使開發(fā)者用極簡的代碼即可實(shí)現(xiàn)對數(shù)據(jù)的訪問和操作鸦列。簡單的講就是CRUD等常用操作通過它就能輕松實(shí)現(xiàn)逛尚,可以有效提高開發(fā)效率吨些。
Spring Data Jpa的結(jié)構(gòu)
主要接口
- Repository : 最頂層的接口搓谆,是一個(gè)空接口,目的是為了統(tǒng)一所有的Repository的類型豪墅,且能讓組件掃描的時(shí)候自動(dòng)識別泉手。
- CrudRepository : Repository的子接口,提供crud的功能偶器。
- PagingAndSortingRepository : CurdRepository的子接口斩萌,提供分頁排序的功能。
- JpaRepository : PagingAndSortingRepository的子接口屏轰,添加批量操作等功能
-
JpaSpecificationExector : 用來做復(fù)雜查詢的接口
image.png
SpringBoot整和Jpa
- pom文件引入依賴
引入依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
- 創(chuàng)建實(shí)體類
這里我沒有寫get颊郎、set方法,因?yàn)槭褂昧?strong>@Data注解霎苗。
@Data是使用的lombok插件 它的作用是在編譯階段動(dòng)態(tài)生成成員變量的getset方法和toString方法
詳細(xì)使用可以往后看
image.png
- 創(chuàng)建userDao,繼承jpaRepository,泛型的第一個(gè)參數(shù)為實(shí)體類姆吭,第二個(gè)為主鍵id的類型
JpaRepository本身已經(jīng)實(shí)現(xiàn)了很多方法,它支持@Query注解寫HQL唁盏,也支持findAllByUsername這種根據(jù)字段名命名的方式
【常用詞如下表】
類型 | 栗子 |
---|---|
全局修飾 |
Distint Top First
|
關(guān)鍵詞 |
IsNull IsNotNull Like NotLike Containing
|
排序方向 |
Asc Desc
|
連接詞 |
And Or
|
image.png
介紹下lombok插件的使用
1内狸、idea--> setting-->plugins搜索lombok,并install
2升敲、pom文件增加lombok依賴
想了解詳細(xì)使用可以去看http://www.reibang.com/p/2ea9ff98f7d6
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
更多內(nèi)容參考官方文檔