springboot配置分页插件pageHelper和数据库方言的几种方式

方式一:启动类配置分页插件(Application.java)

复制代码
 1 /**
 2      * pageHelper分页插件
 3      */
 4     @Bean
 5     public PageHelperByMyself pageHelper(){
 6         PageHelperByMyself pageHelper = new PageHelperByMyself();
 7         Properties properties = new Properties();
 8         properties.setProperty("offsetAsPageNum","true");
 9         properties.setProperty("rowBoundsWithCount","true");
10         properties.setProperty("reasonable","true");
11         properties.setProperty("dialect","postgresql");    //配置postgresql数据库的方言
12         pageHelper.setProperties(properties);
13         return pageHelper;
14     }
复制代码

方式二:分页工具类重写配置文件方法(子类继承PageHelper.java重写setProperties方法)

1 public void setProperties(Properties p) {
2         p.setProperty("offsetAsPageNum","true");
3         p.setProperty("rowBoundsWithCount","true");
4         p.setProperty("reasonable","true");
5         p.setProperty("dialect","postgresql");
6         super.setProperties(p);
7     }

方式三:mybatis配置文件配置分页插件(mybatis-config.xml)

复制代码
 1 <plugins>
 2         <!-- packageName为PageHelper类所在包名 -->
 3         <!--<plugin interceptor="com.github.pagehelper.PageHelper">-->
 4         <!--&lt;!&ndash;mysql,  mariadb,  sqlite,  oracle,  hsqldb,  postgresql,  sqlserver,  db2,  informix,  h2;&ndash;&gt;-->
 5         <!--<property name="dialect" value="oracle"/>-->
 6         <!--&lt;!&ndash;                    该参数默认为false-->
 7         <!--设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用-->
 8         <!--和startPage中的pageNum效果一样 &ndash;&gt;-->
 9         <!--<property name="offsetAsPageNum" value="true"/>-->
10         <!--&lt;!&ndash;                 该参数默认为false-->
11         <!--设置为true时,使用RowBounds分页会进行count查询 &ndash;&gt;-->
12         <!--<property name="rowBoundsWithCount" value="true"/>-->
13         <!--&lt;!&ndash;                     设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果-->
14         <!--(相当于没有执行分页查询,但是返回结果仍然是Page类型) &ndash;&gt;-->
15         <!--<property name="pageSizeZero" value="true"/>            -->
16         <!--&lt;!&ndash;                     3.3.0版本可用 - 分页参数合理化,默认false禁用-->
17         <!--启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页-->
18         <!--禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 &ndash;&gt;-->
19         <!--<property name="reasonable" value="true"/>-->
20         <!--</plugin>-->
21         <!-- packageName为PageHelperByMyself类所在包名 -->
22         <plugin interceptor="com.wondersgroup.common.page.PageHelperByMyself">
23             <!--mysql,  mariadb,  sqlite,  oracle,  hsqldb,  postgresql,  sqlserver,  db2,  informix,  h2;-->
24             <property name="dialect" value="postgresql"/>
25             <!--                    该参数默认为false
26                             设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用
27                                 和startPage中的pageNum效果一样 -->
28             <property name="offsetAsPageNum" value="true"/>
29             <!--                 该参数默认为false
30                             设置为true时,使用RowBounds分页会进行count查询 -->
31             <property name="rowBoundsWithCount" value="true"/>
32             <!--                     设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果
33                             (相当于没有执行分页查询,但是返回结果仍然是Page类型) -->
34             <property name="pageSizeZero" value="true"/>
35             <!--                     3.3.0版本可用 - 分页参数合理化,默认false禁用
36                                     启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页
37                                 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->
38             <property name="reasonable" value="true"/>
39         </plugin>
40         <!-- mybatis-paginator -->
41         <plugin interceptor="com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor">
42             <!--<property name="dialectClass" value="com.github.miemiedev.mybatis.paginator.dialect.MySQLDialect"/>-->
43             <!--<property name="dialectClass" value="com.github.miemiedev.mybatis.paginator.dialect.OracleDialect"/>-->
44             <!--<property name="dialectClass" value="com.github.miemiedev.mybatis.paginator.dialect.SQLServer2005Dialect"/>-->
45              <!--<property name="dialectClass" value="com.github.miemiedev.mybatis.paginator.dialect.SQLServerDialect"/> -->
46             <property name="dialectClass" value="com.github.miemiedev.mybatis.paginator.dialect.PostgreSQLDialect"/>
47         </plugin>
48          
49     </plugins>
复制代码

方式四:springboot配置文件配置分页插件(application.yml)

复制代码
 1 pagehelper:
 2   # 数据库方言 mysql
 3   helper-dialect: mysql
 4  
 5   # 分页参数合理化
 6   # 默认是false。
 7   # 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页;
 8   # 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据
 9   reasonable: true
10  
11   # 支持通过 Mapper 接口参数来传递分页参数
12   # 默认值 false
13   support-methods-arguments: true
14  
15   # 为了支持startPage(Object params)方法,增加了该参数来配置参数映射,
16   # 用于从对象中根据属性名取值
17   #  默认值为 countSql
复制代码

 

posted on   德邦总管  阅读(1155)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2021-01-18 在springboot中用实体类获取配置文件的属性值
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示