spring data知識點記載

2021-08-10 23:23:14 字數 1554 閱讀 4272

spring data

1.repository是乙個空介面,

2.若我們定義的介面繼承了repository,則該介面會被ioc容器識別為乙個

repository bean,納入到ioc容器中,進而可以再該介面中定義滿足一定規範的方法

3.repository的子介面

crudrepository  實現了 crud

pagingandsortintrepository  分頁排序

jparepository  實現了一組jpa 規範的方法

自定義的repository 需要繼承 jparepository  

jpaspecificationexecutor不是repository

定義方法的規範

1.查詢: 以find|read|get開頭

涉及條件查詢時,條件的屬性用條件關鍵字連線

要注意的是:條件屬性以首字母大寫

關鍵字包括:and,or,between,lessthan,greaterthan,after,before,isnull

isnotnull,notnull

like,notlike,startingwith,endingwith,containing,orderby,

not,in,notin,true,false

支援屬性的接連查詢(但是需要在實體類中配置對映關係),若當前類存在符合條件的屬性m則優先使用 當前類中屬性,若需要使用級聯屬性,則屬性間使用下劃線連線

例如: getbylastnamestartingwithandagelessthan("x",12)

query註解(可以自定義jpql語句來實現更靈活的查詢)

(可實現複雜查詢,帶子查詢,比如最大最小等等)

1.使用佔位符

select p from person p where p.lastname = ?1 and p.eamil = ?2

select p from person p where p.lastname like %?1% and p.eamil like %?2%

這個jpql都對應 介面方法中 引數的 順序

2.使用命名引數

select p from person p where p.lastname = :lastname and p.eamil = :email

select p from person p where p.lastname like %:lastname% and p.eamil like %:email%

這個jpql都對應 介面方法中 引數的名稱 以及在引數前需要加@param("")註解

3.支援原生的sql

@query(vakue="select count(id) from jpa_persons",nativequery=true)

@modify註解(修飾代表這是乙個 update或delete操作) 需要事務管理

@modify 可以通過此方式 update,delete ,但不支援insert

@query("update person p set p.email = :email where id = :id")

TestLink知識點Mantis知識點

testlink知識點 1 testlink系統提供了六種角色 a guest 只有讀的許可權,適合於檢視測試用例和測試需求,以及專案分析的使用者。b testdesigner 可以開展測試用例和測試需求的所有工作。c tester 只能執行測試用例。d senior tester 可以檢視和維護測...

python大一知識點 python知識點複習

放假歸來,這幾天複習了一下好久不用的python,總結了一下知識點。語法基礎tuple與list的異同都由多個元素組成 tuple由 組成,list由組成 tuple不可變,list可變 tuple表示的是一種結構,而list表示的是多個事物的集合 tuple操作比list快 字串用法要點 轉義符和...

mysql常用知識點 mysql 常用知識點。

mysql u root p show databases show tables select from abc order by id limit 0,10 create database bbb exit mysqldump u root p game home backup.sql mysq...