一、背景
1.因为公司的需求要使用分页,但是自己写分页的话又非常的麻烦,这时候就使用了一个非常方便的分页插件,跟大家分享下这个分页插件的使用。我使用的是PageHelper这个分页插件。
二、项目结构

三、详细讲解每个组件
1.首先创建一个springboot整合mybatis的项目
1.1.pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
1.2.application.yml
#开发配置
spring:
datasource:
url: jdbc:mysql://localhost:3306/springboot_db?serverTimezone=UTC
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123456
#配置mybatis参数
mybatis:
type-aliases-package: com.example.springbootpagehelper.dto.User
mapper-locations: classpath:mapper/*.xml
1.3.controller(UserController)
@Controller
@RequestMapping(value = "/api")
public class UserController {
@Autowired
private UserService userService;
@ResponseBody
@RequestMapping(value = "/users")
public List<User> users(){
return userService.selectAllUsers();
}
}
1.4.service(接口以及实现类)
1.4.1.UserService.java
public interface UserService {
List<User> selectAllUsers();
}
1.4.2.UserServiceImpl.java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public List<User> selectAllUsers() {
return userDao.selectAllUsers();
}
}
1.5.dao(UserDao)
@Mapper
public interface UserDao {
List<User> selectAllUsers();
}
1.6.dto(User)
public class User {
private Integer id;
private String username;
private String password;
private String phone;
public User() {
}
public User(Integer id, String username, String password, String phone) {
this.id = id;
this.username = username;
this.password = password;
this.phone = phone;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
", phone='" + phone + '\'' +
'}';
}
}
1.7.mapper(UserMapper.xml)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.springbootpagehelper.dao.UserDao">
<select id="selectAllUsers" resultType="com.example.springbootpagehelper.dto.User">
select*from user
</select>
</mapper>
1.8.建表语句
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(20) DEFAULT NULL,
`username` varchar(20) DEFAULT NULL,
`password` varchar(20) DEFAULT NULL,
`phone` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', '张三', '123456', '121334454');
INSERT INTO `user` VALUES ('2', '里斯', '123455', '131414551');
INSERT INTO `user` VALUES ('3', '王五', '131421', '412314442');
INSERT INTO `user` VALUES ('4', '赵六', '114114', '412525235');
INSERT INTO `user` VALUES ('5', '生代', '131241', '141241255');
INSERT INTO `user` VALUES ('6', '萨巴山', '132141', '41241542143');
1.9.到此就完成了项目的创建,就可以启动项目在看结果,在此时还没有使用分页插件。效果如下:

上面的6条数据,下面开始使用分页插件。
四、分页插件的使用
1.pom.xml计入以下依赖
<!-- 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
2.config(PageHelperConfiguration.java)
2.1.配置类
@Configuration
public class PageHelperConfiguration {
@Bean
public PageHelper pageHelper() {
PageHelper pageHelper = new PageHelper();
Properties p = new Properties();
p.setProperty("offsetAsPageNum", "true");
p.setProperty("rowBoundsWithCount", "true");
p.setProperty("reasonable", "true");
pageHelper.setProperties(p);
return pageHelper;
}
}
五、在实现类中实现分页(就一句话)

六、分页结果(就显示3条)

七、结束
上面就是对分页插件的使用,共勉,不懂的请留言!!!
本文介绍如何在SpringBoot项目中整合MyBatis并使用PageHelper分页插件实现简单分页功能。
1406

被折叠的 条评论
为什么被折叠?



