Mybatis分頁(yè)插件Pagehelper不生效的原因及解決
Pagehelper在SpringBoot2中的使用
1、在pom文件正確引入pagehelper-spring-boot-starter
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.12</version>
</dependency>2、不能引入pagehelper,因?yàn)檫@樣會(huì)導(dǎo)致分頁(yè)插件不起作用,除非在mybatisConfig.xml文件中再加入配置
<!-- mybatis分頁(yè)-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.4</version>
</dependency><!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->
<bean id="sqlSessionFactory"
class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- 自動(dòng)掃描mapping.xml文件 -->
<property name="mapperLocations" value="classpath:mapper/*.xml"></property>
<property name="typeAliasesPackage" value="com.xxx.xxx.common.model"></property>
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<!-- 這里的幾個(gè)配置主要演示如何使用,如果不理解,一定要去掉下面的配置 -->
<property name="properties">
<value>
helperDialect=oracle
reasonable=true
supportMethodsArguments=true
params=count=countSql
autoRuntimeDialect=true
</value>
</property>
</bean>
</array>
</property>
<!-- 配置mybatis配置文件的位置 -->
<!--<property name="configLocation" value="classpath:mybatis-config.xml"/>-->
</bean>配置分頁(yè)插件信息
1、在application.yml 中配置
#mybatis 分頁(yè)插件 pagehelper: helperDialect: oracle reasonable: true supportMethodsArguments: true params: count=countSql
2、或者在application.properties文件中配置
#pagehelper分頁(yè)插件配置 pagehelper.helperDialect=mysql pagehelper.reasonable=true pagehelper.supportMethodsArguments=true pagehelper.params=count=countSql
也可以使用代碼的方式配置
@Configuration
public class PageHelperConfig {
@Bean
public PageHelper getPageHelper() {
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("helperDialect", "mysql");
properties.setProperty("reasonable", "true");
properties.setProperty("supportMethodsArguments", "true");
properties.setProperty("params", "count=countSql");
pageHelper.setProperties(properties);
return pageHelper;
}
}分頁(yè)代碼實(shí)現(xiàn)
注意點(diǎn):
1、PageHelper.startPage(page,size)方法一般要放在方法中的首行
2、PageHelper 只對(duì)其后的第一個(gè)查詢(xún)有效
@Override
public PageInfo<User> findUserList(Integer page, Integer size) {
// PageHelper 只對(duì)其后面的第一個(gè)查詢(xún)有效
PageHelper.startPage(page,size);
// 執(zhí)行分頁(yè)查詢(xún)
List<User> list1=userMapper.selectUserList();
// 不會(huì)執(zhí)行分頁(yè)查詢(xún)
List<User> list2=userMapper.selectUserList();
// 返回結(jié)果
PageInfo<User> pageInfo=new PageInfo<User>(list1);
return pageInfo;
}返回值格式
{
"total":34,
"pageNum":1,
"pageSize":10,
"size":10,
"startRow":1,
"endRow":10,
"pages":4,
"prePage":0,
"nextPage":2,
"isFirstPage":true,
"isLastPage":false,
"hasPreviousPage":false,
"hasNextPage":true,
"navigatePages":8,
"navigatepageNums":Array[4],
"navigateFirstPage":1,
"navigateLastPage":4,
"list":Array[2]
}總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot后臺(tái)實(shí)現(xiàn)文件上傳下載
這篇文章主要為大家詳細(xì)介紹了SpringBoot后臺(tái)實(shí)現(xiàn)文件上傳下載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02
簡(jiǎn)介Java的Hibernate框架中的Session和持久化類(lèi)
這篇文章主要介紹了Java的Hibernate框架中的Session和持久化類(lèi),Hibernate是Java的SSH三大web開(kāi)發(fā)框架之一,需要的朋友可以參考下2015-12-12
在Mybatis中association標(biāo)簽多層嵌套的問(wèn)題
這篇文章主要介紹了在Mybatis中association標(biāo)簽多層嵌套的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
使用RestTemplate 調(diào)用遠(yuǎn)程接口上傳文件方式
這篇文章主要介紹了使用RestTemplate 調(diào)用遠(yuǎn)程接口上傳文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
SpringBoot+layuimini實(shí)現(xiàn)左側(cè)菜單動(dòng)態(tài)展示的示例代碼
Layuimini是Layui的升級(jí)版,它是專(zhuān)業(yè)做后臺(tái)頁(yè)面的框架,而且是適合PC端和移動(dòng)端,以下地址可以在PC端顯示,也可以在手機(jī)上顯示,只不過(guò)會(huì)做自適應(yīng),本文將給大家介紹了SpringBoot+layuimini實(shí)現(xiàn)左側(cè)菜單動(dòng)態(tài)展示的方法,需要的朋友可以參考下2024-04-04
Spring Boot利用Java Mail實(shí)現(xiàn)郵件發(fā)送
這篇文章主要為大家詳細(xì)介紹了Spring Boot利用Java Mail實(shí)現(xiàn)郵件發(fā)送,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02
Spring?Boot實(shí)現(xiàn)登錄驗(yàn)證碼功能的案例詳解
驗(yàn)證碼的作用可以有效防止其他人對(duì)某一個(gè)特定的注冊(cè)用戶(hù)用特定的程序暴力破解方式進(jìn)行不斷的登錄嘗試,接下來(lái)通過(guò)本文給大家介紹Spring?Boot實(shí)現(xiàn)登錄驗(yàn)證碼功能,需要的朋友可以參考下2022-08-08
SpringBoot中利用@Valid和@Validated進(jìn)行參數(shù)校驗(yàn)
為了保證數(shù)據(jù)的正確性、完整性,前后端都需要進(jìn)行數(shù)據(jù)檢驗(yàn),作為一名后端開(kāi)發(fā)工程師,不能僅僅依靠前端來(lái)校驗(yàn)數(shù)據(jù),我們還需要對(duì)接口請(qǐng)求的參數(shù)進(jìn)行后端的校驗(yàn),所以本文給大家介紹了SpringBoot中利用@Valid和@Validated進(jìn)行參數(shù)校驗(yàn),需要的朋友可以參考下2024-09-09

