Spring Data Jpa @Query Pageable用法

来源:互联网 发布:28在线客服系统源码 编辑:程序博客网 时间:2024/05/11 04:20

1.Controller

public ResponseEntity<ResponseData> pageableList(            @RequestParam(required = true) String appkey,            @RequestParam(required = true) String token,            @RequestParam(required = false, defaultValue = "0") String pageNo,            @RequestParam(required = false, defaultValue = "10") String pageSize){        //检测页码、条数参数是否为数字        if(!StrUtil.isNumeric(pageNo) || !StrUtil.isNumeric(pageSize)){            //页码、条数参数有误        }        Integer pageNoNum = Integer.parseInt(pageNo);        Integer pageSizeNum = Integer.parseInt(pageSize);        Pageable pageable = null;        Sort sort = new Sort(Sort.Direction.ASC, "id");        pageable = new PageRequest(pageNoNum, pageSizeNum, sort);        User user = userService.getUserByToken(token);        //获取用户的信息        List<User> UserList = this.UserService.getUserById(user .getId(), pageable);        message.setContent(UserList);        return new ResponseEntity<ResponseData>(message, HttpStatus.OK);    }

2.Repository

 @Query(value="SELECT * FROM User WHERE ENDTIME is null AND  ID = ?1 order by ?#{#pageable}",nativeQuery = true)List<User> findByEndtimeIsNullAndIdOrderByStarttime(String id,  Pageable pageable);