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

java?jpa如何自定義sql語句

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

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對方法進(jìn)行注解,才能使得ORM知道現(xiàn)在要執(zhí)行的是寫操作。

3.模糊查詢

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

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

含兩個實(shí)體類

@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ù)適用 ?加上第幾個參數(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)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    SpringBoot超詳細(xì)講解自動配置原理

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

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

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

最新評論

思茅市| 青田县| 彭泽县| 肇源县| 霸州市| 鸡泽县| 罗江县| 吴忠市| 波密县| 彩票| 平顶山市| 曲松县| 宁城县| 凭祥市| 肇州县| 福清市| 东宁县| 故城县| 景宁| 合肥市| 秦皇岛市| 新巴尔虎右旗| 田阳县| 彝良县| 蓬溪县| 泰和县| 昆山市| 元江| 陵川县| 阿克陶县| 利津县| 时尚| 桃园县| 长治市| 洞口县| 怀来县| 古丈县| 曲麻莱县| 临泽县| 青川县| 同心县|