首页>>后端>>SpringBoot->SpringBoot集成PageHelper分页插件

SpringBoot集成PageHelper分页插件

时间:2023-11-29 本站 点击:1

步骤一、导入jar包

<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.5</version></dependency>

步骤二、配置SpringBoot文件

在application.yaml配置文件中添加以下配置:

#pagehelperpagehelper:helperDialect:mysqlreasonable:truesupportMethodsArguments:trueparams:count=countSqlreturnPageInfo:check

pagehelper.helper-dialect : 指定分页插件使用哪种语言

pagehelper.offset-as-page-num : 默认为 false, 该参数对使用RowBounds作为分页参数时有效,当为true时,会将RowBoundsoffset参数当成pageNum使用

pagehelper.row-bounds-with-count : 默认为false,该参数对使用RowBounds作为分页参数时有效,当该参数值为true时,使用RowBounds分页会进行count查询

pagehelper.page-size-zero : 默认为false,当该参数为true时,如果pageSize=0或者RowBounds.limit=0就会查询所有结果

pagehelper.reasonable : 分页合理化参数,默认为false,当该值为truepageNum<=0默认查询第一页,pageNum>pages时会查询最后一页,false时直接根据参数进行查询

pagehelper.params : 为了支持startPage(Object params)方法,增加该参数来配置参数映射,用于从对象中根据属性名取值,可以配置pageNum,pageSize,pageSizeZero, reasonable, 不配置映射是使用默认值, 默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero

pagehelper.support-methods-arguments : 支持通过 Mapper接口参数来传递分页参数,默认为false, 分页插件会从查询方法的参数中根据params配置的字段中取值,查找到合适的就进行分页

pagehelper.auto-runtime-dialect : 默认为false, 为true时允许在运行时根据多数据源自动识别对应的方言进行分页

pagehelper.close-conn : 默认为true, 当使用运行是动态数据源或者没有设置helperDialect属性自动获取数据库类型时,会自动获取一个数据库连接,通过该属性来设置是否关闭获取的这个连接,默认为true关闭,false不会自动关闭

步骤三、使用

@MapperpublicinterfaceArticleDao{List<Article>getArticleList();}
<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mappernamespace="com.singerw.dao.ArticleDao"><selectid="getArticleList"resultMap="articleMap">select*fromarticle</select><resultMapid="articleMap"type="Article"><idproperty="aID"column="a_id"/><resultproperty="articleTitle"column="article_title"/><resultproperty="articleContent"column="article_content"/><resultproperty="headImage"column="head_image"/><resultproperty="articleAuthor"column="article_author"/><resultproperty="typeNumber"column="type_number"/><resultproperty="pageviews"column="pageviews"/><resultproperty="createTime"column="create_time"/><resultproperty="isState"column="is_state"/></resultMap></mapper>
publicinterfaceArticleDaoService{ResponseData<Article>getArticleList(Integerpage,Integerlimit);}
@ServicepublicclassArticleDaoServiceImplimplementsArticleDaoService{@AutowiredprivateArticleDaoarticleDao;@OverridepublicResponseData<Article>getArticleList(Integerpage,Integerlimit){PageHelper.startPage(page,limit);List<Article>articleList=articleDao.getArticleList();PageInfo<Article>pageInfo=newPageInfo(articleList);ResponseData<Article>responseData=newResponseData(0,"success",pageInfo.getTotal(),articleList);returnresponseData;}}
@RestController@RequestMapping("/api")publicclassArticleController{@AutowiredprivateArticleDaoServicearticleDaoService;@GetMapping("/artList")publicResponseData<Article>getArticleList(@RequestParam(name="page",defaultValue="1")Integerpage,@RequestParam(name="limit",defaultValue="10")Integerlimit){ResponseData<Article>responseData=articleDaoService.getArticleList(page,limit);returnresponseData;}}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/SpringBoot/400.html