zoukankan      html  css  js  c++  java
  • spring data jpa分页

    controller层

     1 @RequestMapping(value="/search")
     2     @ResponseBody
     3     public String search(HttpServletRequest request,int pageIndex,int size) {
     4         HttpSession session = request.getSession();
     5         User user = (User)session.getAttribute("user");
     6         Page<Message> page = onlineMessageService.pageFind(user,pageIndex, size);
     7         Map<String, Object> tableMap = new HashMap<String, Object>();
     8         tableMap.put("total", page.getTotalElements());
     9         tableMap.put("messages", page.getContent());
    10         return ResponseJSON.instance().setData(tableMap).toJSON();
    11 
    12     }

    service层

     1 @Transactional
     2     public Page<Message> pageFind(final User user,int pageIndex,int size) {
     3         Specification<Message> messgeSpeci = new Specification<Message>() {
     4             @Override
     5             public Predicate toPredicate(Root<Message> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
     6                 List<Predicate> predicates = new ArrayList<Predicate>();
     7                 predicates.add(cb.equal(root.get("user").<String>get("status"),"1"));
     8                 predicates.add(cb.equal(root.<String> get("isOnlineRead"),"0"));
     9                 query.where(predicates.toArray(new Predicate[] {}));
    10                 return null;
    11             }
    12         };
    13         return MessageRepository.findAll(messgeSpeci, new PageRequest(pageIndex,size));
    14     }

     持久层接口继承

    1 public interface MessageRepository extends JpaRepository<Message, Long> ,JpaSpecificationExecutor<Message>{.....}

      

  • 相关阅读:
    C++ 纸牌 今日头条面试题
    c++ 病句 今日头条面试题
    C++ 球迷 今日头条面试题
    C++ 活动安排
    C++ 弗洛伊德算法
    填坑 bzoj3337
    bzoj3884 上帝与集合的正确用法
    人参中第一次膜你退货
    洛谷P2216 [HAOI2007]理想的正方形
    洛谷 P1099 树网的核+P2491 [SDOI2011]消防
  • 原文地址:https://www.cnblogs.com/cora/p/4323025.html
Copyright © 2011-2022 走看看