JPA件模糊查詢,分頁并排序

jpa 多條件模糊查詢,分頁并排序很難嗎,這樣寫不就幾行代碼的事嗎?搞不明白你們寫的怎么長篇大論花里胡哨的,看的一臉懵逼。

jpa多字段模糊查詢,持久層字段還是要一一對應(yīng)的,但是你可以在service層處理一下,只用一個字段接收,然后放到每個屬性上

repository

//只根據(jù)用戶名
Page<User> findByUsernameContaining(String username, Pageable pageable);
//根據(jù)用戶名和手機(jī)號
Page<User> findAllByUsernameContainingOrMobileContaining(String username,String mobile ,Pageable pageable);

service

 /**
     * 分頁 并排序 查詢用戶信息 或根據(jù)用戶名和手機(jī)號模糊查詢
     *
     * @param page 第幾頁
     * @param size 每頁多少條數(shù)據(jù)
     * @param sortType 根據(jù)哪個字段排序
     * @return
     */
public Page<User> findAllUsers(int page, int size, String sortType,  String fuzzyQuery) {
        Sort sort = Sort.by(Sort.Direction.DESC, sortType);
        Pageable pageable = PageRequest.of(page, size, sort);
        Page<User> userList = null;
        if (StringUtils.isEmpty(fuzzyQuery)) {
            userList = userRepository.findAll(pageable);
        } else {
            userList = userRepository.findAllByUsernameContainingOrMobileContaining(fuzzyQuery, fuzzyQuery,pageable);
        }
        return userList;
    };

controller

  @GetMapping("/findAllUsers")
  public Page<User> findAllUsers(@RequestParam(defaultValue = "0") int page,
            @RequestParam(defaultValue = "10") int size, @RequestParam(defaultValue = "createTime") String sortType,
            String fuzzyQuery) {
        Page<User> list = userService.findAllUsers(page, size, sortType, fuzzyQuery);
        return list;
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容