springboot-mybatis集成pagehelper分页插件
2024-09-08 18:57:57
1、引入jar包(示例)
implementation group: 'com.github.pagehelper', name: 'pagehelper-spring-boot-starter', version: 'XXXX'
2、添加配置(示例)
#pagehelper分页插件
pagehelper:
helper-dialect: oracle
reasonable: false
support-methods-arguments: true
params: count=countsql
3、分页插件参数介绍:
helperDialect
:分页插件会自动检测当前的数据库链接,自动选择合适的分页方式。 你可以配置helperDialect
属性来指定分页插件使用哪种方言。配置时,可以使用下面的缩写值:
oracle
,mysql
,mariadb
,sqlite
,hsqldb
,postgresql
,db2
,sqlserver
,informix
,h2
,sqlserver2012
,derby
特别注意:使用 SqlServer2012 数据库时,需要手动指定为 sqlserver2012
,否则会使用 SqlServer2005 的方式进行分页。
你也可以实现 AbstractHelperDialect
,然后配置该属性为实现类的全限定名称即可使用自定义的实现方法。
offsetAsPageNum
:默认值为false
,该参数对使用RowBounds
作为分页参数时有效。 当该参数设置为true
时,会将RowBounds
中的offset
参数当成pageNum
使用,可以用页码和页面大小两个参数进行分页。rowBoundsWithCount
:默认值为false
,该参数对使用RowBounds
作为分页参数时有效。 当该参数设置为true
时,使用RowBounds
分页会进行 count 查询。pageSizeZero
:默认值为false
,当该参数设置为true
时,如果pageSize=0
或者RowBounds.limit = 0
就会查询出全部的结果(相当于没有执行分页查询,但是返回结果仍然是Page
类型)。reasonable
:分页合理化参数,默认值为false
。当该参数设置为true
时,pageNum<=0
时会查询第一页,pageNum>pages
(超过总数时),会查询最后一页。默认false
时,直接根据参数进行查询。params
:为了支持startPage(Object params)
方法,增加了该参数来配置参数映射,用于从对象中根据属性名取值, 可以配置pageNum,pageSize,count,pageSizeZero,reasonable
,不配置映射的用默认值, 默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero
。supportMethodsArguments
:支持通过 Mapper 接口参数来传递分页参数,默认值false
,分页插件会从查询方法的参数值中,自动根据上面params
配置的字段中取值,查找到合适的值时就会自动分页。 使用方法可以参考测试代码中的com.github.pagehelper.test.basic
包下的ArgumentsMapTest
和ArgumentsObjTest
。autoRuntimeDialect
:默认值为false
。设置为true
时,允许在运行时根据多数据源自动识别对应方言的分页 (不支持自动选择sqlserver2012
,只能使用sqlserver
)。closeConn
:默认值为true
。当使用运行时动态数据源或没有设置helperDialect
属性自动获取数据库类型时,会自动获取一个数据库连接, 通过该属性来设置是否关闭获取的这个连接,默认true
关闭,设置为false
后,不会关闭获取的连接,这个参数的设置要根据自己选择的数据源来决定
4.代码中引入(示例)
Page<Object> page = PageHelper.startPage(pageNo, pageSize);
List<ProductGoodsBindVo> vos = proBindDao.productGoodsBindPage(storeName, productName);
分页配置参数介绍参考:https://www.cnblogs.com/tp-apricot/articles/10967431.html
最新文章
- Nginx设置线程数为整机内核数的俩倍!
- LeetCode: Linked List Random Node
- mongodb,redis,hbase 三者都是nosql数据库,他们的最大区别和不同定位是什么?
- topsort
- 八大排序算法之二希尔排序(Shell Sort)
- eclipse汉化安装
- Spring整合CXF步骤,Spring实现webService,spring整合WebService
- Mysql优化相关总结
- U+00A0 (Non-breaking space)无法被正确压缩
- 认识到了x64程序的必要性
- [SOJ]连通性问题
- JSONP(Json with padding)
- spring boot与jdbcTemplate的整合案例2
- HDU--2114
- [PHP] ubuntu下使用uuid扩展获取uuid
- 好代码是管出来的——.Net Core中的单元测试与代码覆盖率
- 想知道谁是你的最佳用户?基于Redis实现排行榜周期榜与最近N期榜
- 洛谷 P3380 【【模板】二逼平衡树(树套树)】
- Mysql支持哪几种索引
- 手动下载python更新后 换回以前版本
热门文章
- LambdaQueryWrapper 的条件构造器方法对应Sql
- java传递参数调用python完成剪切多个视频最终拼接成一个
- vue table表格form表单校验输入内容,elment ui table内容校验 form表单input验证
- lua 调用C函数
- idea启动项目,报java.lang.OutOfMemoryError: PermGen space 和启动项目很慢的问题解决
- SQL面试题,工作整理sql
- 26 docker 安装 solr
- urllib编码问题踩坑
- 【笔记】Win7连接公司内网无法打开网页
- ksfitappUI自动化(准备+安装环境)