boot-mybatis分页插件使用

发布时间:2022-07-02 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了boot-mybatis分页插件使用脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

1 依赖引入

        <!-- sPRing-boot对mybatis的支持 -->
        <dePEndency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>;mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
        </dependency>
        
        <!-- mybatis分页插件 -->
        <dependency>
            <groupId>com.gIThub.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.3.0</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

2 配置文件

# 分页插件
pagehelper:
  helperDialect: MySQL
  reasonable: true
  supportMethodsarguments: true
  params: count=countSQL

3 代码

3.1 封装请求参数

@Data
public class PageRequest {

    /**
     * 当前页码
     */
    private int pageNum;

    /**
     * 每页数量
     */
    private int pageSize;
}

3.2 封装分页结果

@Data
public class PageResult {

    /**
     * 当前页码
     */
    private int pageNum;

    /**
     * 每页数量
     */
    private int pageSize;

    /**
     * 记录总数
     */
    private long totalSize;

    /**
     * 页码总数
     */
    private long totalPages;

    /**
     * 数据模型
     */
    private List<?> content;
}

3.3 分页工具类

public class PageUtil {

    /**
     * 分页工具类
     * @param pageinfo
     * @param pageRequest
     * @return
     */
    public static PageResult getPageResult(PageInfo<?> pageInfo, PageRequest pageRequest) {
        PageResult result = new PageResult();
        result.setPageNum(pageRequest.getPageNum());
        result.setPageSize(pageRequest.getPageSize());
        result.setTotalSize(pageInfo.getTotal());
        result.setTotalPages(pageInfo.getPages());
        result.setContent(pageInfo.getList());
        return result;
    }
}

3.4 Mapper层代码

public interface UserMapper{
    
    @Select("select * From tb_user")
    List<User> selectByPage();
}

3.5 Service层代码

public interface PageService{
    PageResult findByPage(PageRequest pageRequest);
}

3.6 ServiceImpl实现

public class PageServiceImpl implements PageService{
    
    	@Autowired
    	private UserMapper userMapper;
    
        @override
   		public PageResult findByPage(PageRequest pageRequest) {

        //参数校验
        int pageNum = pageRequest.getPageNum();
        if (pageNum < 0) {
            pageNum = 0;
        }
        
        //参数校验
        int pageSize = pageRequest.getPageSize();
        if (pageSize < 0) {
            pageSize = 10;
        }

        //分页插件进行分页
        PageHelper.startPage(pageNum, pageSize);

        List<User> userList = userMapper.selectByPage();

        return PageUtil.getPageResult(new PageInfo<User>(userList), pageRequest);
    }
}

脚本宝典总结

以上是脚本宝典为你收集整理的boot-mybatis分页插件使用全部内容,希望文章能够帮你解决boot-mybatis分页插件使用所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。