概述
前言:
玩转 Spring boot 系列:(一)使用 Idea 搭建 Spring boot Maven 多模块父子工程(图解)
玩转 Spring boot 系列:(二)配置多开发环境,集成druid数据源(图解)
玩转 Spring boot 系列:(三)集成mybatis,实现增删改查(图解)
spring boot 项目集成druid数据源和mybtis之后,截下来带领着大家完成数据分页,并自定义分页结果集!
代码地址:Spring Boot 集成 PageHelper
1、配置 父模块的pom文件
<pagehelper.version>1.2.13</pagehelper.version>
<fastjson.version>1.2.71</fastjson.version>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${pagehelper.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<optional>true</optional>
<scope>provided</scope>
</dependency>
2、配置application.yml文件
3、数据库生成测试数据,这里生成20多条即可,
4、新增分页结果类,为了方便其他项目重用,我们放到另一个子模块 basic中。
package com.beizeng.basic.common.page;
import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @description: <h1>Page 分页封装结果集</h1>
* @author: LiRen
**/
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class Page implements Serializable {
private static final long serialVersionUID = 1L;
private Integer rows = 10; // 每页显示记录数
private Integer total; // 总页数
private long records; // 总记录数
private Integer page = 1; // 当前页
public String pageInfo(Integer code, List data) {
Map<String, Object> map = new HashMap<>();
// pagehelper分页结果集
PageInfo<List> info = new PageInfo<>(data);
map.put("records", info.getTotal());
map.put("total", info.getPages());
map.put("page", this.page);
map.put("rows", this.rows);
map.put("code", code);
map.put("data", data);
return JSON.toJSONString(map);
}
public String pageInfo(Integer code, String msg) {
Map<String, Object> map = new HashMap<>();
map.put("code", code);
map.put("msg", msg);
return JSON.toJSONString(map);
}
public String pageInfo(Integer code, String msg, List data) {
Map<String, Object> map = new HashMap<>();
// pagehelper分页结果集
PageInfo<List> info = new PageInfo<>(data);
map.put("records", info.getTotal());
map.put("total", info.getPages());
map.put("page", this.page);
map.put("rows", this.rows);
map.put("code", code);
map.put("msg", msg);
map.put("data", data);
return JSON.toJSONString(map);
}
}
为了子模块:admin 可以调用 子模块 basic 的代码,需要在子模块 admin 的pom文件中添加如下代码:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>platform</artifactId>
<groupId>com.liren</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>admin</artifactId>
<dependencies>
<dependency>
<groupId>com.liren</groupId>
<artifactId>basic</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
5、编写分页测试代码
MyUserController.java
/**
* 分页查询
*/
@RequestMapping(value = {"/getUserByPage"}, method = RequestMethod.GET)
public String getUserByPage(Page p) {
// 在查询分页的sql之前,调用开始分页语句!!!
PageHelper.startPage(p.getPage(), p.getRows());
List<User> user = myUserService.getUserByPage();
return p.pageInfo(1, "请求成功!", user);
}
图解如下:
MyUserServiceImpl.java 实现getUserByPage 接口方法:
@Override
public List<User> getUserByPage() {
List<User> users = userDao.selAllUser();
return users;
}
dao接口 实现 接口 selAllUser方法
List<User> selAllUser();
UserMapper.xml 实现 selAllUser 查询sql
<select id="selAllUser" resultType="com.liren.admin.entity.User">
SELECT * FROM `user`
</select>
6、分页效果如图所示,
创作不易,各位的支持和认可,就是我创作的最大动力,
【转载请联系本人】 如有问题,请联系我。欢迎斧正!不胜感激 !
求点赞???? 求关注❤️ 求分享???? 求留言????
最后
以上就是粗犷星星为你收集整理的玩转 Spring boot 系列:(四)mybatis 集成分页插件 pagehelper 并自定义分页结果集的全部内容,希望文章能够帮你解决玩转 Spring boot 系列:(四)mybatis 集成分页插件 pagehelper 并自定义分页结果集所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复