spring data jpa學習筆記

前言
在學習spring data jpa 之前,讓我們先了解下JPA.
JPA(Java Persistence API)是Sun官方提出的Java持久化規範。它爲Java開發人員提供了一種對象/關聯映射工具來管理Java應用中的關係數據。他的出現主要是爲了簡化現有的持久化開發工作和整合ORM技術,結束現在Hibernate,TopLink,JDO等ORM框架各自爲營的局面。值得注意的是,JPA是在充分吸收了現有Hibernate,TopLink,JDO等ORM框架的基礎上發展而來的,具有易於使用,伸縮性強等優點
注意:JPA是一套規範,不是一套產品,那麼像Hibernate,TopLink,JDO他們是一套產品,如果說這些產品實現了這個JPA規範,那麼我們就可以叫他們爲JPA的實現產品
Spring Data JPA 是 Spring 基於 ORM 框架、JPA 規範的基礎上封裝的一套JPA應用框架,可使開發者用極簡的代碼即可實現對數據的訪問和操作。它提供了包括增刪改查等在內的常用功能,且易於擴展!學習並使用 Spring Data JPA 可以極大提高開發效率!
spring data jpa讓我們解脫了DAO層的操作,基本上所有CRUD都可以依賴於它來實現
jpa 簡單查詢
Spring Data JPA的獨特之處就是簡單查詢根本不用寫實現類,直接寫接口就好,它能根據你的接口去生成sql
按照方法名解析規則如下:
find+全局修飾+By+實體屬性名稱+限定詞+連接詞+(其他實體屬性)+OrderBy+排序屬性+排序方向
例:

findDistinctByFirstNameIgnoreCaseAndLastNameOrderByAgeDesc(String firstName,String lastName)

全局修飾符:distinct,top,first

關鍵詞(限定詞+連接詞):IsNull,IsNotNull,Like,NotLike,Containing,In,NotIn,IgnoreCase,Between,Equals,

LessThan,GreaterThan,After,Before

排序方向:Asc,Desc

嵌套實體方法命名規則:
例:

List<Person> findByAddress_ZipCode(ZipCode zipCode)

構詞法:主實體中的子實體名稱+_+子實體屬性名稱
通過關鍵詞構造方法如下:

// 對應sql:  select * from user where phone like '136%' and address like '%路%'
findByPhoneStartingWithAndAdressContaining(String phone, String address);

詳情請查看Here

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章