中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring Data JPA怎么使用QueryDsl查詢并分頁

發布時間:2021-11-21 12:15:15 來源:億速云 閱讀:959 作者:小新 欄目:開發技術

小編給大家分享一下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 :根據條件查詢出來的集合

  • list:根據前臺傳來的進行分頁操作

  • .fetch():相當于.get() 可看出返回類型。

使用QueryDSL

補充springDataJpa進行復雜動態sql語句進行sql查詢 實現 關聯 分頁等功能

@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()) // 單頁查詢數量
            .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));
    }
}

看完了這篇文章,相信你對“Spring Data JPA怎么使用QueryDsl查詢并分頁”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

峨眉山市| 循化| 横山县| 鲁山县| 孝感市| 仁化县| 溧阳市| 黄山市| 金沙县| 山东省| 高碑店市| 吉隆县| 黄梅县| 湾仔区| 宜春市| 元阳县| 孝义市| 松滋市| 凯里市| 萨迦县| 邯郸市| 阿城市| 吉林市| 嘉兴市| 通化县| 丰台区| 托里县| 锦州市| 门源| 鱼台县| 昭觉县| 吉隆县| 稻城县| 上虞市| 外汇| 大悟县| 彰化县| 宁远县| 通州区| 靖安县| 平武县|