最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java?jpa如何自定義sql語句

 更新時間:2021年11月29日 16:59:19   作者:java小白-  
這篇文章主要介紹了java?jpa如何自定義sql語句方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

java jpa自定義sql語句

本篇只是為了再次記錄自己又學(xué)習(xí)了jpa的使用,框架原生的通過解析方法名多適用于單表操作,自定義的sql查詢則可以解決所有問題,記錄些自定義sql語法的記錄,以便后續(xù)參照。

1.多表關(guān)聯(lián)查詢,含條件

@Query(value = "SELECT b FROM QyVideo a JOIN YjQyXx b ON  a.qyId = b.id AND a.cameraId = ?1 ")

2.清空表

@Transactional
@Modifying
@Query(value = "truncate table yj_qy_xx", nativeQuery = true)

注:update、truncate或delete時必須使用@Modifying和@Transactional對方法進行注解,才能使得ORM知道現(xiàn)在要執(zhí)行的是寫操作。

3.模糊查詢

@Query("select p from WhpzxryzsXxPo p where p.ryxm like concat('%',?1,'%') and p.cyyxqq >= ?2")

4.查詢結(jié)果為VO

含兩個實體類

@Query(value = "SELECT new com.kun.aqsczt.vo.FxjzfbVo(u, seventinfo) FROM SSmsInfo u left join SEventInfo seventinfo on u.referId = seventinfo.eventId WHERE (:referType IS NULL OR :referType IS '' OR u.referType = :referType) AND (:isSend IS NULL OR :isSend IS '' OR u.isSend = :isSend) ")

5.使用@Param注解注入?yún)?shù)

分頁查詢

@Query(value = "SELECT a  FROM CEiWorkaccMaybe a " +
            "WHERE (:psnName IS NULL OR :psnName IS '' OR a.psnName LIKE %:psnName%) " +
            "AND (:commName IS NULL OR :commName IS '' OR a.commName LIKE %:commName%) " +
            "AND (:idCard IS NULL OR :idCard IS '' OR a.idCard LIKE %:idCard%) " +
            "AND (:doctorDateStart IS NULL OR :doctorDateStart IS '' OR a.doctorDate >= :doctorDateStart) " +
            "AND (:doctorDateEnd IS NULL OR :doctorDateEnd IS '' OR a.doctorDate <= :doctorDateEnd) "
    )
Page<CEiWorkaccMaybe> getSuspectedWorkAccidentVerification(
            @Param("psnName") String psnName,
            @Param("commName") String commName,
            @Param("idCard") String idCard,
            @Param("doctorDateStart") String doctorDateStart,
            @Param("doctorDateEnd") String doctorDateEnd,
            Pageable pageable
    );

無非是把日常的sql中的表名換成了對應(yīng)的實體類名,接收參數(shù)適用 ?加上第幾個參數(shù)的幾。當(dāng)然也可使用@Param注解注入?yún)?shù),就變成了使用 :參數(shù) 名稱接收。

jpa自定義sql查詢結(jié)果

很多時候都會遇到自定義sql,自定義返回字段,而不是pojo類。這個情況要通過接口定義返回。

直接上代碼

 @Query(value = "select m.field AS field,COUNT(m.field) AS size from MigrationObject m where m.xmlName = ?1 and m.groupName = ?2 group by m.field")
    List<WorkCenter> getKey(String xmlName, String groupName);

對于這種情況,只返回了兩個字段,就需要定義一個接口來接收(注意AS別名的配置)

public interface WorkCenter { 
    String getField();
    String getSize();
}

最后跑一下demo代碼

   List<WorkCenter> list = migrationObjectRepository.getKey("EN_Work centerResource.xml","Key");
        for (WorkCenter workCenter:list){
            System.out.println(workCenter.getField());
            System.out.println(workCenter.getSize());
        }

ARBPL
5
SPRAS
2
CANUM
2
ENDDA
1
WERKS
5

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • @ConfigurationProperties綁定配置信息至Array、List、Map、Bean的實現(xiàn)

    @ConfigurationProperties綁定配置信息至Array、List、Map、Bean的實現(xiàn)

    這篇文章主要介紹了@ConfigurationProperties綁定配置信息至Array、List、Map、Bean的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 利用Java實現(xiàn)天氣預(yù)報播報功能

    利用Java實現(xiàn)天氣預(yù)報播報功能

    這篇文章主要為大家介紹了如何利用Java語言實現(xiàn)天氣預(yù)報播報功能,文中的示例代碼講解詳細,對我們學(xué)習(xí)Java有一定的幫助,需要的可以參考一下
    2022-06-06
  • Java實現(xiàn)用Mysql存取圖片操作實例

    Java實現(xiàn)用Mysql存取圖片操作實例

    這篇文章主要介紹了Java實現(xiàn)用Mysql存取圖片操作實例,本文講解了使用BLOB類型保存和讀取圖片的代碼實例,需要的朋友可以參考下
    2015-06-06
  • SpringBoot使用不同環(huán)境動態(tài)加載不同配置文件

    SpringBoot使用不同環(huán)境動態(tài)加載不同配置文件

    通過在resource目錄下創(chuàng)建不同環(huán)境的配置文件,并在Spring?Boot啟動類中使用環(huán)境變量來加載相應(yīng)的配置文件,從而實現(xiàn)不同環(huán)境下的配置自動加載
    2024-11-11
  • java銀行管理系統(tǒng)源碼

    java銀行管理系統(tǒng)源碼

    這篇文章主要為大家詳細介紹了java銀行管理系統(tǒng)源碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • 使用json字符串插入節(jié)點或者覆蓋節(jié)點

    使用json字符串插入節(jié)點或者覆蓋節(jié)點

    這篇文章主要介紹了使用json字符串插入節(jié)點或者覆蓋節(jié)點的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 五分鐘帶你學(xué)會用java解析json字符串

    五分鐘帶你學(xué)會用java解析json字符串

    這篇文章主要給大家介紹了關(guān)于用java解析json字符串的相關(guān)資料,JSON是一種輕量級的、基于文本的、與語言無關(guān)的數(shù)據(jù)交換格式,易于人和機器讀寫,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • Mybatis批量更新數(shù)據(jù)庫錯誤問題

    Mybatis批量更新數(shù)據(jù)庫錯誤問題

    這篇文章主要介紹了Mybatis批量更新數(shù)據(jù)庫錯誤問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • SpringBoot超詳細講解自動配置原理

    SpringBoot超詳細講解自動配置原理

    在進行項目編寫前,我們還需要知道一個東西,就是SpringBoot對我們的SpringMVC還做了哪些配置,包括如何擴展,如何定制,只有把這些都搞清楚了,我們在之后使用才會更加得心應(yīng)手
    2022-06-06
  • 淺析JPA分類表的操作函數(shù)

    淺析JPA分類表的操作函數(shù)

    這篇文章主要介紹了JPA分類表的操作函數(shù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-02-02

最新評論

佛冈县| 威信县| 界首市| 渭源县| 黑龙江省| 泉州市| 松桃| 特克斯县| 桃源县| 高安市| 桐庐县| 湖口县| 牟定县| 苗栗县| 凤山市| 台江县| 太原市| 古蔺县| 乐亭县| 科尔| 汝州市| 新巴尔虎左旗| 和政县| 永善县| 清水河县| 东阳市| 游戏| 噶尔县| 桦甸市| 保康县| 新竹县| 林芝县| 本溪| 和静县| 柳河县| 获嘉县| 云阳县| 孝义市| 石狮市| 永兴县| 鱼台县|