1.pom 文件
<!-- 分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.12</version> </dependency>
2.application-dev.properties #================ mybatis pagehelper ==============# pagehelper.helper-dialect=mysql pagehelper.reasonable=true pagehelper.support-methods-arguments=true pagehelper.params=count=countSql
3.分页查询返回实体类
import com.github.pagehelper.PageInfo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 分页查询返回实体类
*
* @author lhh
* @Date 2019/10/26 20:46
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PageModel<T> implements Serializable{
/**
* 当页数据
*/
private List<T> list;
/**
* 数据总条数
*/
private Long totalNum;
public PageModel(List<T> list, PageInfo pageInfo){
this.list=list;
this.totalNum=pageInfo.getTotal();
}
}
4.分页排序入参
import lombok.Data;
/**
* 分页排序入参
*
* @author lhh
* @Date 2019/10/26 20:58
*/
@Data
public class PageVo {
/**
* 页码,从1开始
*/
private int page = 1;
/**
* 页面大小
*/
private int size = 10;
}
5.控制层
import com.alibaba.fastjson.JSON;
import com.lhh.springboot.config.mybatis.PageVo;
import com.lhh.springboot.oauth.service.SysUserService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author lhh
* @Date 2019/10/26 15:29
*/
@RestController
@RequestMapping("/sys_user")
public class SysUserController {
@Autowired
private SysUserService sysUserService;
@ApiOperation(value = "测试mybatis分页插件",method = RequestMethod.POST)
@RequestMapping("/findByPage")
public String findByPage(PageVo vo) {
return JSON.toJSONString(sysUserService.findByPage(vo));
}
}
6.server层
import com.lhh.springboot.config.mybatis.PageModel;
import com.lhh.springboot.config.mybatis.PageVo;
import com.lhh.springboot.oauth.pojo.SysUser;
/**
* @author lhh
* @Date 2019/10/26 15:30
*/
public interface SysUserService {
/**
* 分页查询
*
* @param vo 分页入参
* @return
*/
PageModel<SysUser> findByPage(PageVo vo);
}
7.serviceImpl 实现层
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.lhh.springboot.config.mybatis.PageModel;
import com.lhh.springboot.config.mybatis.PageVo;
import com.lhh.springboot.oauth.dao.SysUserMapper;
import com.lhh.springboot.oauth.pojo.SysUser;
import com.lhh.springboot.oauth.service.SysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author lhh
* @Date 2019/10/26 15:31
*/
@Service
public class SysUserServiceImpl implements SysUserService {
@Autowired
private SysUserMapper sysUserMapper;
/**
* 分页查询
*
* @param vo 分页入参
* @return
*/
@Override
public PageModel<SysUser> findByPage(PageVo vo) {
PageHelper.startPage(vo.getPage(), vo.getSize());
List<SysUser> list = sysUserMapper.findPage();
PageInfo<SysUser> pageInfo = new PageInfo<>(list);
return new PageModel<>(list, pageInfo);
}
}
8.使用swagger2 测试



来源:https://blog.csdn.net/lhh143400/article/details/102761068