jpa 多條件模糊查詢,分頁並排序


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

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

repository

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

service

 /** * 分頁 並排序 查詢用戶信息 或根據用戶名和手機號模糊查詢 * * @param page 第幾頁 * @param size 每頁多少條數據 * @param sortType 根據哪個字段排序 * @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;
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM