Spring?Data?Jpa?中原生查詢?REGEXP?的使用詳解
Spring Data Jpa原生查詢 REGEXP 的使用
REGEXP 與like 有通用之處, 單 regexp 有更好的精確度,更加自由靈活
在jpa 中使用時(shí) :其中 定位符 ^ 在jpa @query 注解中使用時(shí)需要加上引用號(hào) e.g
@Query(value = "select p.id as id from zt_products AS p
where
p.enabled=true
and
p.name regexp '^'+?1+'$' ",
nativeQuery = true)
List<Map> findByName(String names);
如此 方可使用,,但是% 可以不用加。。。。
嗯 暫時(shí)就這個(gè)樣子///
后記:
在實(shí)際使用時(shí) 發(fā)現(xiàn)上述方法存在缺陷; 無論names傳的什么值 查詢結(jié)果一樣;
@Query(value = "select p.id as id from zt_products AS p
where
p.enabled=true
and
p.name regexp ?1,
nativeQuery = true)
List<Map> findByName(String rexgexp);//rexgexp 為 regexp 表達(dá)式 直接在這里和一起會(huì)不起作用
可參考:
https://spring.io/blog/2014/07/15/spel-support-in-spring-data-jpa-query-definitions
https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.stored-procedures
spring data jpa 原生查詢(查一個(gè)json中的某一字段)
數(shù)據(jù)庫:

jpa 查詢 java:
@Component("ediHistoryDAO")
public interface EdiHistoryDAO extends CrudRepository<EdiHistoryDO, Integer>{
EdiHistoryDO findById(BigInteger id);
EdiHistoryDO findByEdiInfoId(BigInteger id);
List<EdiHistoryDO> findByIdIn(List<BigInteger> id);
@Query(value="select * from EDI.edi_history where json_contains(response_summary, ?1) and json_contains(response_summary, ?2) and json_contains(response_summary, ?3) and json_contains(response_summary, ?4)", nativeQuery = true)
public List<EdiHistoryDO> findByResponseSummary(String result,String orderNo,String orderId,String docType);
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android studio按鈕點(diǎn)擊頁面跳轉(zhuǎn)詳細(xì)步驟
在Android應(yīng)用程序中,頁面跳轉(zhuǎn)是非常常見的操作,下面這篇文章主要給大家介紹了關(guān)于Android studio按鈕點(diǎn)擊頁面跳轉(zhuǎn)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
使用Feign傳遞請(qǐng)求頭信息(Finchley版本)
這篇文章主要介紹了使用Feign傳遞請(qǐng)求頭信息(Finchley版本),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
mysql高版本(8.0+)group_by報(bào)錯(cuò)的處理方法
本文主要介紹了mysql高版本(8.0+)group_by報(bào)錯(cuò)的處理方法,這個(gè)錯(cuò)誤一般發(fā)生在mysql 5.7以及 5.7以上的版本中,本文就來介紹一下兩種解決方法,感興趣的可以了解一下2023-09-09
springboot實(shí)現(xiàn)圖片大小壓縮功能
這篇文章主要為大家詳細(xì)介紹了springboot實(shí)現(xiàn)圖片大小壓縮功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
詳解使用Spring AOP和自定義注解進(jìn)行參數(shù)檢查
本篇文章主要介紹了詳解使用Spring AOP和自定義注解進(jìn)行參數(shù)檢查,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04
SpringBoot3利用AOP實(shí)現(xiàn)IP黑名單功能
在Web應(yīng)用開發(fā)中,控制對(duì)特定IP地址的訪問權(quán)限是一個(gè)常見的需求,通過實(shí)現(xiàn)IP黑白名單功能,我們可以允許某些IP地址訪問應(yīng)用,同時(shí)拒絕其他IP地址的訪問,本文將詳細(xì)介紹SpringBoot3利用AOP實(shí)現(xiàn)IP黑名單功能,并附上相應(yīng)的代碼片段,需要的朋友可以參考下2024-09-09
Android?Java判斷密碼強(qiáng)度方法實(shí)例(強(qiáng)度顯示)
在現(xiàn)代社會(huì)中,密碼是確保我們個(gè)人信息和賬戶安全的重要手段之一,為了提高密碼的安全性,我們可以使用正則表達(dá)式來判斷密碼的強(qiáng)度,這篇文章主要給大家介紹了關(guān)于Android?Java判斷密碼強(qiáng)度(強(qiáng)度顯示)的相關(guān)資料,需要的朋友可以參考下2024-03-03

