凡是繼承了jparepository的或繼承其子介面的,都可以使用自定義的宣告式查詢方法。
宣告式查詢方法可以分3大類:
示例:
public inte***ce webtaskrepository extends jparepository
查詢方法可以由我們宣告的命名查詢生成,也可以像前面那樣由方法名解析。
keyword
sample
jpql snippet
and
findbylastnameandfirstname
… where x.lastname = ?1 and x.firstname = ?2
or
findbylastnameorfirstname
… where x.lastname = ?1 or x.firstname = ?2
is,
equals
findbyfirstname
,
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
not
findbylastnamenot
… where x.lastname <> ?1
in
findbyagein(collectionages)
… where x.age in ?1
notin
findbyagenotin(collectionages)
… 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)
例項說明:
實體類
@entity
@table(name="user")
public class user
public string getid()
public void setid(string id)
public string getname()
public void setname(string name)
public integer getheight()
public void setheight(integer height)
}
jpa
public inte***ce userrepository extends jparepository
擴充套件:
jpa寫操作時需要注意,無論是更新,還是刪除都需要加上@transactional 和 @modifying兩個註解。
@modifying
@transactional
@query(value="delete from ds_ipay_pay t where t.bill_id = ?1",nativequery=true)
public void delete(long billid);
property關鍵字介紹及使用
1 基本概念 property 是編譯器的指令什麼是編譯器的指令,編譯器指令就是用來告訴編譯器要做什麼 property 告訴編譯器 宣告屬性的訪問器 getter setter 方法 這樣的好處是 免去我們手工書寫get和set方法繁瑣的 2 property用法 property 型別 方法名 ...
Static關鍵字的作用及使用
如果希望乙個屬性被所有物件共同擁有,可以將其宣告為static型別。宣告為static型別的屬性或方法,此屬性或方法也被稱為類方法,可以由類名直接呼叫。person.country b城 如果乙個方法使用了static關鍵字宣告,此方法可以直接使用類名進行呼叫。注意 使用static方法,不能呼叫非...
final關鍵字的介紹及使用
final 最終的 1.final可以用來修飾的結構 類 方法 變數 2.final 用來修飾乙個類 此類不能被其他類所繼承。比如 string類 system類 stringbuffer類 3.final 用來修飾方法 表明此方法不可以被重寫 比如 object類中getclass 4.final...