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

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

时间:2024-01-18 14:55:08浏览次数:33  
标签:插件 springboot -- pageHelper setProperty true 分页

方式一:启动类配置分页插件(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

 

标签:插件,springboot,--,pageHelper,setProperty,true,分页
From: https://www.cnblogs.com/zhncnblogs/p/17972507

相关文章

  • SpringBoot中操作Bean的生命周期的方法
    SpringBoot中操作Bean的生命周期的方法路人路人甲Java2024-01-1719:17发表于上海引言在SpringBoot应用中,管理和操作Bean的生命周期是一项关键的任务。这不仅涉及到如何创建和销毁Bean,还包括如何在应用的生命周期中对Bean进行精细控制。Spring框架提供了多种机制来......
  • 记录 | vscode json美化插件JSON Tools
    安装插件JSONTools原来的json的样子:JSONTools美化/格式化快捷键Ctrl+Alt+M(windows)/Command+Option+M(Mac),然后效果如下:......
  • es安装分词插件elasticsearch-analysis-ik(elasticsearch-plugin方式安装)
    环境:OS:Centos7ES:6.8.5 1.查看当前的安装的插件[root@hadoop-slave1soft]#curl-uelastic:123456-XGET"http://192.168.1.63:19200/_cat/plugins?v&s=component&h=name,component,version,description&pretty"namecomponentversiondescription 2.将分......
  • Sa-Token介绍与SpringBoot环境下使用
    个人博客:无奈何杨(wnhyang)个人语雀:wnhyang共享语雀:在线知识共享Github:wnhyang-Overview官网:Sa-Token一个轻量级Java权限认证框架,让鉴权变得简单、优雅!介绍Sa-Token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话......
  • 国产最强的 AI 代码生成插件:CodeGeeX
    国产最强的AI代码生成插件:CodeGeeX学习改变命运,技术铸就辉煌。大家好,我是銘,AI已经火了一年多了,国内很多公司也都开始开发了很多AI工具。今天我们就来聊一聊国产的AI代码生成工具CodeGeex。官方介绍首先,我们来看一下官方对它的介绍CodeGeeX是一款基于大模型的智......
  • subline text 的package control 下载插件不全的解决办法
    起初我打算在sublinetext安装几个好用的插件方便刷题使用,可是在packagecontrol上找不到该插件,但是在https://packagecontrol.io/packages/这个插件是存在的,无奈之下重装packagecontrol问题依旧存在,于是只能从本地下载导入,但是效率很低,后来我发现,是由于我的packagecontrol使用......
  • IDEA插件中的postman,你试试
    Postman是大家最常用的API调试工具,那么有没有一种方法可以不用手动写入接口到Postman,即可进行接口调试操作?今天给大家推荐一款IDEA插件:ApipostHelper,写完代码就可以调试接口并一键生成接口文档!而且还可以根据已有的方法帮助您快速生成url和params。更重要的是他完全免费!Apipos......
  • 0.o?让我看看怎么个事儿之SpringBoot自动配置
    学习SpringBoot自动配置之前我们需要一些前置知识点:Java注解,看完就会用学会@ConfigurationProperties月薪过三千不是银趴~是@Import!@Conditional+@Configuration有没有搞头?首先我们提出2个问题:SpringBoot是干什么的?是用来简化Spring原生的复杂的xml配置的进阶框架......
  • zblog文章采集发布插件-免费下载
    推荐一款可以自动采集网页文章,并发布到zblog系统网站的zblog采集发布插件,支持简数采集器,火车头数据采集器,八爪鱼文章采集器,后羿采集器等...... zblog采集发布插件使用教程如下: 1.安装zblog文章采集发布插件1-1)zblog文章采集发布插件免费下载地址:Zblog文章采集发布插件1-2)将......
  • SpringBoot+MybatisPlus+dynamic-datasources实现连接Postgresql和mysql多数据源
    场景dynamic-datasource-spring-boot-starter实现动态数据源Mysql和Sqlserver:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/117356693SpringBoot中整合MybatisPlus快速实现Mysql增删改查和条件构造器:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detail......