spring data jpa 是 spring 基於 orm 框架、jpa 規範的基礎上封裝的一套jpa應用框架,可使開發者用極簡的**即可實現對資料的訪問和操作。它提供了包括增刪改查等在內的常用功能,且易於擴充套件!學習並使用 spring data jpa 可以極大提高開發效率!
spring data jpa讓我們解脫了dao層的操作,基本上所有crud都可以依賴於它來實現基本查詢也分為兩種,一種是spring data預設已經實現,一種是根據查詢的方法來自動解析成sql。
就是根據方法名來自動生成sql,主要的語法是findxxby,readaxxby,queryxxby,countxxby, getxxby後面跟屬性名稱:
listfindbyemaillike(string email);
user findbyusernameignorecase(string username);
listfindbyusernameorderbyemaildesc(string email
修改、刪除、統計也是類似語法long deletebyid(long id);
long countbyusername(string username)
具體的關鍵字,使用方法和生產成sql如下表所示
keyword
sample
jpql snippet
andfindbylastnameandfirstname
… where x.lastname = ?1 and x.firstname = ?2
orfindbylastnameorfirstname
… where x.lastname = ?1 or x.firstname = ?2
is,equals
findbyfirstnameis,findbyfirstnameequals
… where x.firstname = ?1
between
findbystartdatebetween
… where x.startdate between ?1 and ?2
lessthan
findbyagelessthan
… where x.age < ?1
lessthanequal
findbyagelessthanequal
… where x.age ⇐ ?1
greaterthan
findbyagegreaterthan
… where x.age > ?1
greaterthanequal
findbyagegreaterthanequal
… where x.age >= ?1
after
findbystartdateafter
… where x.startdate > ?1
before
findbystartdatebefore
… where x.startdate < ?1
isnull
findbyageisnull
… where x.age is null
isnotnull,notnull
findbyage(is)notnull
… where x.age not null
like
findbyfirstnamelike
… where x.firstname like ?1
notlike
findbyfirstnamenotlike
… where x.firstname not like ?1
startingwith
findbyfirstnamestartingwith
endingwith
findbyfirstnameendingwith
… where x.firstname like ?1 (parameter bound with prepended %)
containing
findbyfirstnamecontaining
orderby
findbyageorderbylastnamedesc
… where x.age = ?1 order by x.lastname desc
notfindbylastnamenot
… where x.lastname <> ?1
infindbyagein(collectionages)
… where x.age in ?1
notin
findbyagenotin(collectionage)
… where x.age not in ?1
true
findbyactivetrue()
… where x.active = true
false
findbyactivefalse()
… where x.active = false
ignorecase
findbyfirstnameignorecase
… where upper(x.firstame) = upper(?1)
spring data jpa實體繼承
spring jpa中我們要將sql對映到物件,尤其是在spring boot這種高度自動化的環境下使用,大量的最優目錄結構與命名規則可以大大降低配置,約定大於配置貫穿其中。例如我們定義查詢dao,繼承jparepository即可。然後返回的物件,我們可以定義model entity table ...
SpringData JPA分頁查詢
首先我們需要知道springdata jpa 的幾個介面 其實看名字就大概懂了,也可以很方便的使用 首先我們的持久化層繼承jparepository,相當於繼承了增刪改查的持久化層以及分頁查詢的持久化層 所以如果我們要使用分頁查詢 我們只需要直接呼叫 由一開始的圖也可以看到pageable的其中乙個...
springData Jpa簡單查詢
一 介面方法整理速查 下表針對於簡單查詢,即jparepository介面 繼承了crudrepository介面 pagingandsortingrepository介面 中的可訪問方法進行整理。1 先按照功能進行分類整理,分為儲存 刪除 查詢單個 查詢多個 其他5類。2 再將不建議使用的方法置灰...