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

Spring Data JPA 如何使用QueryDsl查詢并分頁

 更新時間:2021年11月20日 11:52:15   作者:Mr_ZhangAdd  
這篇文章主要介紹了Spring Data JPA 如何使用QueryDsl查詢并分頁,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Spring Data JPA 使用QueryDsl查詢并分頁

 QProblemPoint qProblemPoint = QProblemPoint.problemPoint;
        Map<String,String> map = getWhere(param);
 
        JPAQuery<ProblemPoint> query = jpaQueryFactory
                .selectFrom(qProblemPoint)
                .where(
                        qProblemPoint.problemClassify.like(map.get("problemClassify")),//問題分類
                        qProblemPoint.problemLevel.like(map.get("problemLevel")),//問題級別
                        qProblemPoint.securityRiskEvent.like(map.get("securityRiskEvent")),//風險事件
                        qProblemPoint.riskItems.like(map.get("riskItems"))//安全風險項
                );
 
        List<ProblemPoint> list = query
                .offset(param.getStart())
                .limit(param.getLength()).fetch();
        long count = query.fetchCount();
  • QProblemPoint:是編譯出來的實體
  • query :根據(jù)條件查詢出來的集合
  • list:根據(jù)前臺傳來的進行分頁操作
  • .fetch():相當于.get() 可看出返回類型。

使用QueryDSL

補充springDataJpa進行復雜動態(tài)sql語句進行sql查詢 實現(xiàn) 關聯(lián) 分頁等功能

@Test
public void testComplexSelect() {
    QQyOnlineCall onlineCall = QQyOnlineCall.qyOnlineCall;
    QClientList clientList = QClientList.clientList;
    // page必須從1開始
    PageRequest request = PageRequest.of(0, 10);
    // 構建復雜查詢語句
    List<Tuple> result = mFactory.select(onlineCall.id, onlineCall.cUsesign, onlineCall.cYgscode, clientList.cClientname, clientList.cPhone1)
            .from(onlineCall)
            .leftJoin(clientList)
            .on(onlineCall.cClientid.eq(clientList.id))
            .where(onlineCall.cCom.eq("C0003"))
            .limit(request.getPageSize()) // 單頁查詢數(shù)量
            .offset(request.getPageSize() * request.getPageNumber()) // 偏移量
            .fetch();
    // 獲取結果
    for (Tuple tuple : result) {
        HashMap<String, Object> map = new HashMap<>();
        map.put("id", tuple.get(onlineCall.id));
        map.put("useSign", tuple.get(onlineCall.cUsesign));
        map.put("ygsCode", tuple.get(onlineCall.cYgscode));
        map.put("clientName", tuple.get(clientList.cClientname));
        map.put("phone", tuple.get(clientList.cPhone1));
        System.out.println(JsonUtils.toJson(map));
    }
}

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

相關文章

  • SpringBoot項目打包war包時無法運行問題的解決方式

    SpringBoot項目打包war包時無法運行問題的解決方式

    在開發(fā)工程中,使用啟動類啟動能夠正常啟動并測試,下面這篇文章主要給大家介紹了關于SpringBoot項目打包war包時無法運行問題的解決方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • Spring Gateway自定義請求參數(shù)封裝的實現(xiàn)示例

    Spring Gateway自定義請求參數(shù)封裝的實現(xiàn)示例

    這篇文章主要介紹了Spring Gateway自定義請求參數(shù)封裝的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Java集合繼承體系詳解

    Java集合繼承體系詳解

    這篇文章主要為大家詳細介紹了Java集合繼承體系,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Spring boot監(jiān)控Actuator-Admin實現(xiàn)過程詳解

    Spring boot監(jiān)控Actuator-Admin實現(xiàn)過程詳解

    這篇文章主要介紹了Spring boot監(jiān)控Actuator-Admin實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Java利用多線程和分塊實現(xiàn)快速讀取文件

    Java利用多線程和分塊實現(xiàn)快速讀取文件

    在工作中經(jīng)常會有接收文件并且讀取落庫的需求,讀取方式都是串行讀取,所以本文主要為大家介紹一下如何利用多線程和分塊實現(xiàn)快速讀取文件,希望對大家有所幫助
    2023-09-09
  • 詳解Spring中Lookup注解的使用

    詳解Spring中Lookup注解的使用

    我們知道在spring容器中單獨的一個抽象類是不能成為一個bean的,那么有沒有辦法呢?這個時候我們可以使用Lookup注解,下面跟隨小編看下Spring中Lookup注解的使用
    2021-10-10
  • java char數(shù)據(jù)類型原理解析

    java char數(shù)據(jù)類型原理解析

    這篇文章主要介紹了java char數(shù)據(jù)類型原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Springboot優(yōu)化內(nèi)置服務器Tomcat優(yōu)化方式(underTow)

    Springboot優(yōu)化內(nèi)置服務器Tomcat優(yōu)化方式(underTow)

    本文詳細介紹了Spring Boot中Tomcat和Undertow服務器的配置和優(yōu)化,包括初始線程數(shù)、最大線程數(shù)、最小備用線程數(shù)、最大請求數(shù)等參數(shù)的優(yōu)化建議,以及在高并發(fā)場景下Undertow相對于Tomcat的優(yōu)勢
    2024-12-12
  • MyBatis-Plus實用篇超完整教程

    MyBatis-Plus實用篇超完整教程

    MyBatis-Plus是一個MyBatis的增強工具,提供了許多便捷的功能,簡化了開發(fā)流程,同時,MyBatis-Plus提供了鏈式查詢與修改、靜態(tài)工具類、自定義SQL、IPage的泛型轉換、ActiveRecord等擴展功能,以及分頁插件和MyBatisX插件等插件,進一步提高了開發(fā)效率,感興趣的朋友一起看看吧
    2025-02-02
  • ConstraintValidator類如何實現(xiàn)自定義注解校驗前端傳參

    ConstraintValidator類如何實現(xiàn)自定義注解校驗前端傳參

    這篇文章主要介紹了ConstraintValidator類實現(xiàn)自定義注解校驗前端傳參的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評論

观塘区| 凉城县| 若尔盖县| 闵行区| 闸北区| 北宁市| 镇康县| 衡阳市| 门头沟区| 运城市| 汽车| 天全县| 都兰县| 鄂托克前旗| 漠河县| 磴口县| 枣庄市| 贵港市| 吴桥县| 金寨县| 瑞丽市| 正阳县| 竹北市| 新乡县| 岑巩县| 民和| 岢岚县| 郑州市| 孙吴县| 志丹县| 灵宝市| 巩义市| 沾化县| 墨竹工卡县| 孝昌县| 岳阳市| 洛川县| 栾川县| 广州市| 定州市| 仙桃市|