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 2024-01-18 14:50  德邦总管  阅读(464)  评论(0编辑  收藏  举报

导航