springboot+mybatis使⽤分页插件遇到PageInfo为空的情况
之前写分页功能的时候没有⽤过插件,最近试着⽤⼀下看看,结果却遇到PageInfo⼀直为空的情况。⽽从数据库明明就查到了数据,却绑定不了。。。
yml配置⽂件:
#分页插件
pageheloer:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
在⽹上查原因发现是我没有在主启动类⾥⾯添加:
@Bean
public PageHelper pageHelper() {
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("offsetAsPageNum", "true");
properties.setProperty("rowBoundsWithCount", "true");
properties.setProperty("reasonable", "true");
properties.setProperty("dialect", "mysql");
pageHelper.setProperties(properties);
return pageHelper;
}
添加之后分页功能就可以了。
在这我附上全部步骤代码,主要是做个⼯作总结和以后的不断改进。
pom⽂件添加依赖:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>3.4.2</version>
</dependency>
sql语句⼤家随便写⼀条测试⼀下就⾏
<select id="test" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from t_proxy
</select>
mapper接⼝
List<Proxy> test();
先⾃定义⼏个对象:
public class PageRequest {
private int pageNum;//当前页码
private int pageSize;//每页数量
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) { this.pageNum = pageNum;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) { this.pageSize = pageSize;
}
}
/**
* 分页返回结果
* */
public class PageResult {
/**
* 当前页码
* */
private int pageNum;
/**
*每页数量
* */
private int pageSize;
/**
*记录总数
* */
private long totalSize;
/**
分页查询插件*页码总数
* */
private int totalPages;
/**
* 数据模型
*/
private List<?> content;
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) { this.pageNum = pageNum;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) { this.pageSize = pageSize;
}
public long getTotalSize() {
return totalSize;
}
public void setTotalSize(long totalSize) {
}
public int getTotalPages() {
return totalPages;
}
public void setTotalPages(int totalPages) {
}
public List<?> getContent() {
return content;
}
public void setContent(List<?> content) {
}
}
public class PageUtils {
/**
* 将分页信息封装到统⼀的接⼝
* @param pageRequest
* @param
* @return
*/
public static PageResult getPageResult(PageRequest pageRequest, PageInfo<?> pageInfo) { PageResult pageResult = new PageResult();
pageResult.PageNum());
pageResult.PageSize());
pageResult.Total());
pageResult.Pages());
pageResult.List());
return pageResult;
}
}
service接⼝
/**
* @Description: 分页测试,仅仅是为了做个插件测试
* @Author:
* @CreateDate: 2019/8/26 0026 9:34
*@PARAM: PageResult: ⾃定义,统⼀分页查询请求
* pageRequest: ⾃定义,统⼀分页查询结果
*/
PageResult testPageHelper(PageRequest pageRequest);
实现类:
@Override
public PageResult testPageHelper(PageRequest pageRequest) {
PageResult(pageRequest,getPageInfo(pageRequest));
}
private PageInfo<Proxy> getPageInfo(PageRequest pageRequest) {
int pageNum = PageNum();
int pageSize = PageSize();
PageHelper.startPage(pageNum, pageSize);
List<Proxy> proxies = st();
for(Proxy p:proxies){
System.out.Account());
}
return new PageInfo<Proxy>(proxies);
}
@RequestMapping(value ="/testPage",method = RequestMethod.POST)
public PageResult findPage(@RequestBody PageRequest pageRequest) { stPageHelper(pageRequest);
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论