Springboot2中如何集成pagehelper

wufei123 发布于 2023-05-22 阅读(943)

1、pom.xml

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <parent>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-parent</artifactId>

    <version>2.2.1.RELEASE</version>

    <relativePath/> <!-- lookup parent from repository -->

  </parent>

  <groupId>qinfeng.zheng</groupId>

  <artifactId>learn-pagequery</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <name>learn-pagequery</name>

  <description>Demo project for Spring Boot</description>

 

  <properties>

    <java.version>1.8</java.version>

  </properties>

 

  <dependencies>

    <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>

      <version>5.1.47</version>

      <scope>runtime</scope>

    </dependency>

    <dependency>

      <groupId>org.springframework.boot</groupId>

      <artifactId>spring-boot-starter-test</artifactId>

      <scope>test</scope>

      <exclusions>

        <exclusion>

          <groupId>org.junit.vintage</groupId>

          <artifactId>junit-vintage-engine</artifactId>

        </exclusion>

      </exclusions>

    </dependency>

    <dependency>

      <groupId>com.github.pagehelper</groupId>

      <artifactId>pagehelper-spring-boot-starter</artifactId>

      <version>1.2.12</version>

    </dependency>

 

  </dependencies>

 

  <build>

    <plugins>

      <plugin>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-maven-plugin</artifactId>

      </plugin>

    </plugins>

  </build>

 

</project>

2. application.peroperties

#pagehelper
pagehelper.helper-dialect=mysql
pagehelper.params=count=countSql
pagehelper.reasonable=true
pagehelper.support-methods-arguments=true

#mysql
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
spring.datasource.url= jdbc:mysql://120.79.xx.xx:3306/test?useUnicode=yes&characterEncoding=UTF-8&useSSL=false
spring.datasource.username = root
spring.datasource.password = 1212212

3.实体类

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

public class Country implements Serializable {

  private static final long serialVersionUID = 6569081236403751407L;

 

  private int  id;

  private String countryname;

  private String countrycode;

 

  public int getId() {

    return id;

  }

 

  public void setId(int id) {

    this.id = id;

  }

 

  public String getCountryname() {

    return countryname;

  }

 

  public void setCountryname(String countryname) {

    this.countryname = countryname;

  }

 

  public String getCountrycode() {

    return countrycode;

  }

 

  public void setCountrycode(String countrycode) {

    this.countrycode = countrycode;

  }

}

4,mapper接口类

1

2

3

4

5

6

@Mapper

public interface CountryMapper {

  @Select("select * from country")

  List<Country> findAll();

 

}

5.cotroller类

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

@RestController

public class CountryController {

  @Autowired

  private CountryMapper countryMapper;

 

  @GetMapping("/findAll")

  public List<Country> findAll(@RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "20") Integer pageSize) {

    PageHelper.startPage(pageNum, pageSize);

    List<Country> countries = countryMapper.findAll();

 

    Page page = (Page) countries;

    System.out.println("每页展示条数:" + page.getPageSize());

    System.out.println("总条数:" + page.getTotal());

    System.out.println("当前页:" + page.getPageNum());

    System.out.println("总页数:" + page.getPages());

 

    return countries;

  }

}

7.测试数据

  直接抄官方数据

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

drop table country if exists;

 

create table country (

 id int primary key auto_increment,

 countryname varchar(32),

 countrycode varchar(2)

);

 

insert into country (id, countryname, countrycode) values(1,'Angola','AO');

insert into country (id, countryname, countrycode) values(2,'Afghanistan','AF');

insert into country (id, countryname, countrycode) values(3,'Albania','AL');

insert into country (id, countryname, countrycode) values(4,'Algeria','DZ');

insert into country (id, countryname, countrycode) values(5,'Andorra','AD');

insert into country (id, countryname, countrycode) values(6,'Anguilla','AI');

insert into country (id, countryname, countrycode) values(7,'Antigua and Barbuda','AG');

insert into country (id, countryname, countrycode) values(8,'Argentina','AR');

insert into country (id, countryname, countrycode) values(9,'Armenia','AM');

insert into country (id, countryname, countrycode) values(10,'Australia','AU');

insert into country (id, countryname, countrycode) values(11,'Austria','AT');

insert into country (id, countryname, countrycode) values(12,'Azerbaijan','AZ');

insert into country (id, countryname, countrycode) values(13,'Bahamas','BS');

insert into country (id, countryname, countrycode) values(14,'Bahrain','BH');

insert into country (id, countryname, countrycode) values(15,'Bangladesh','BD');

insert into country (id, countryname, countrycode) values(16,'Barbados','BB');

insert into country (id, countryname, countrycode) values(17,'Belarus','BY');

insert into country (id, countryname, countrycode) values(18,'Belgium','BE');

insert into country (id, countryname, countrycode) values(19,'Belize','BZ');

insert into country (id, countryname, countrycode) values(20,'Benin','BJ');

insert into country (id, countryname, countrycode) values(21,'Bermuda Is.','BM');

insert into country (id, countryname, countrycode) values(22,'Bolivia','BO');

insert into country (id, countryname, countrycode) values(23,'Botswana','BW');

insert into country (id, countryname, countrycode) values(24,'Brazil','BR');

insert into country (id, countryname, countrycode) values(25,'Brunei','BN');

insert into country (id, countryname, countrycode) values(26,'Bulgaria','BG');

insert into country (id, countryname, countrycode) values(27,'Burkina-faso','BF');

insert into country (id, countryname, countrycode) values(28,'Burma','MM');

insert into country (id, countryname, countrycode) values(29,'Burundi','BI');

insert into country (id, countryname, countrycode) values(30,'Cameroon','CM');

insert into country (id, countryname, countrycode) values(31,'Canada','CA');

insert into country (id, countryname, countrycode) values(32,'Central African Republic','CF');

insert into country (id, countryname, countrycode) values(33,'Chad','TD');

insert into country (id, countryname, countrycode) values(34,'Chile','CL');

insert into country (id, countryname, countrycode) values(35,'China','CN');

insert into country (id, countryname, countrycode) values(36,'Colombia','CO');

insert into country (id, countryname, countrycode) values(37,'Congo','CG');

insert into country (id, countryname, countrycode) values(38,'Cook Is.','CK');

insert into country (id, countryname, countrycode) values(39,'Costa Rica','CR');

insert into country (id, countryname, countrycode) values(40,'Cuba','CU');

insert into country (id, countryname, countrycode) values(41,'Cyprus','CY');

insert into country (id, countryname, countrycode) values(42,'Czech Republic','CZ');

insert into country (id, countryname, countrycode) values(43,'Denmark','DK');

insert into country (id, countryname, countrycode) values(44,'Djibouti','DJ');

insert into country (id, countryname, countrycode) values(45,'Dominica Rep.','DO');

insert into country (id, countryname, countrycode) values(46,'Ecuador','EC');

insert into country (id, countryname, countrycode) values(47,'Egypt','EG');

insert into country (id, countryname, countrycode) values(48,'EI Salvador','SV');

insert into country (id, countryname, countrycode) values(49,'Estonia','EE');

insert into country (id, countryname, countrycode) values(50,'Ethiopia','ET');

insert into country (id, countryname, countrycode) values(51,'Fiji','FJ');

insert into country (id, countryname, countrycode) values(52,'Finland','FI');

insert into country (id, countryname, countrycode) values(53,'France','FR');

insert into country (id, countryname, countrycode) values(54,'French Guiana','GF');

insert into country (id, countryname, countrycode) values(55,'Gabon','GA');

insert into country (id, countryname, countrycode) values(56,'Gambia','GM');

insert into country (id, countryname, countrycode) values(57,'Georgia','GE');

insert into country (id, countryname, countrycode) values(58,'Germany','DE');

insert into country (id, countryname, countrycode) values(59,'Ghana','GH');

insert into country (id, countryname, countrycode) values(60,'Gibraltar','GI');

insert into country (id, countryname, countrycode) values(61,'Greece','GR');

insert into country (id, countryname, countrycode) values(62,'Grenada','GD');

insert into country (id, countryname, countrycode) values(63,'Guam','GU');

insert into country (id, countryname, countrycode) values(64,'Guatemala','GT');

insert into country (id, countryname, countrycode) values(65,'Guinea','GN');

insert into country (id, countryname, countrycode) values(66,'Guyana','GY');

insert into country (id, countryname, countrycode) values(67,'Haiti','HT');

insert into country (id, countryname, countrycode) values(68,'Honduras','HN');

insert into country (id, countryname, countrycode) values(69,'Hongkong','HK');

insert into country (id, countryname, countrycode) values(70,'Hungary','HU');

insert into country (id, countryname, countrycode) values(71,'Iceland','IS');

insert into country (id, countryname, countrycode) values(72,'India','IN');

insert into country (id, countryname, countrycode) values(73,'Indonesia','ID');

insert into country (id, countryname, countrycode) values(74,'Iran','IR');

insert into country (id, countryname, countrycode) values(75,'Iraq','IQ');

insert into country (id, countryname, countrycode) values(76,'Ireland','IE');

insert into country (id, countryname, countrycode) values(77,'Israel','IL');

insert into country (id, countryname, countrycode) values(78,'Italy','IT');

insert into country (id, countryname, countrycode) values(79,'Jamaica','JM');

insert into country (id, countryname, countrycode) values(80,'Japan','JP');

insert into country (id, countryname, countrycode) values(81,'Jordan','JO');

insert into country (id, countryname, countrycode) values(82,'Kampuchea (Cambodia )','KH');

insert into country (id, countryname, countrycode) values(83,'Kazakstan','KZ');

insert into country (id, countryname, countrycode) values(84,'Kenya','KE');

insert into country (id, countryname, countrycode) values(85,'Korea','KR');

insert into country (id, countryname, countrycode) values(86,'Kuwait','KW');

insert into country (id, countryname, countrycode) values(87,'Kyrgyzstan','KG');

insert into country (id, countryname, countrycode) values(88,'Laos','LA');

insert into country (id, countryname, countrycode) values(89,'Latvia','LV');

insert into country (id, countryname, countrycode) values(90,'Lebanon','LB');

insert into country (id, countryname, countrycode) values(91,'Lesotho','LS');

insert into country (id, countryname, countrycode) values(92,'Liberia','LR');

insert into country (id, countryname, countrycode) values(93,'Libya','LY');

insert into country (id, countryname, countrycode) values(94,'Liechtenstein','LI');

insert into country (id, countryname, countrycode) values(95,'Lithuania','LT');

insert into country (id, countryname, countrycode) values(96,'Luxembourg','LU');

insert into country (id, countryname, countrycode) values(97,'Macao','MO');

insert into country (id, countryname, countrycode) values(98,'Madagascar','MG');

insert into country (id, countryname, countrycode) values(99,'Malawi','MW');

insert into country (id, countryname, countrycode) values(100,'Malaysia','MY');

insert into country (id, countryname, countrycode) values(101,'Maldives','MV');

insert into country (id, countryname, countrycode) values(102,'Mali','ML');

insert into country (id, countryname, countrycode) values(103,'Malta','MT');

insert into country (id, countryname, countrycode) values(104,'Mauritius','MU');

insert into country (id, countryname, countrycode) values(105,'Mexico','MX');

insert into country (id, countryname, countrycode) values(106,'Moldova, Republic of','MD');

insert into country (id, countryname, countrycode) values(107,'Monaco','MC');

insert into country (id, countryname, countrycode) values(108,'Mongolia','MN');

insert into country (id, countryname, countrycode) values(109,'Montserrat Is','MS');

insert into country (id, countryname, countrycode) values(110,'Morocco','MA');

insert into country (id, countryname, countrycode) values(111,'Mozambique','MZ');

insert into country (id, countryname, countrycode) values(112,'Namibia','NA');

insert into country (id, countryname, countrycode) values(113,'Nauru','NR');

insert into country (id, countryname, countrycode) values(114,'Nepal','NP');

insert into country (id, countryname, countrycode) values(115,'Netherlands','NL');

insert into country (id, countryname, countrycode) values(116,'New Zealand','NZ');

insert into country (id, countryname, countrycode) values(117,'Nicaragua','NI');

insert into country (id, countryname, countrycode) values(118,'Niger','NE');

insert into country (id, countryname, countrycode) values(119,'Nigeria','NG');

insert into country (id, countryname, countrycode) values(120,'North Korea','KP');

insert into country (id, countryname, countrycode) values(121,'Norway','NO');

insert into country (id, countryname, countrycode) values(122,'Oman','OM');

insert into country (id, countryname, countrycode) values(123,'Pakistan','PK');

insert into country (id, countryname, countrycode) values(124,'Panama','PA');

insert into country (id, countryname, countrycode) values(125,'Papua New Cuinea','PG');

insert into country (id, countryname, countrycode) values(126,'Paraguay','PY');

insert into country (id, countryname, countrycode) values(127,'Peru','PE');

insert into country (id, countryname, countrycode) values(128,'Philippines','PH');

insert into country (id, countryname, countrycode) values(129,'Poland','PL');

insert into country (id, countryname, countrycode) values(130,'French Polynesia','PF');

insert into country (id, countryname, countrycode) values(131,'Portugal','PT');

insert into country (id, countryname, countrycode) values(132,'Puerto Rico','PR');

insert into country (id, countryname, countrycode) values(133,'Qatar','QA');

insert into country (id, countryname, countrycode) values(134,'Romania','RO');

insert into country (id, countryname, countrycode) values(135,'Russia','RU');

insert into country (id, countryname, countrycode) values(136,'Saint Lueia','LC');

insert into country (id, countryname, countrycode) values(137,'Saint Vincent','VC');

insert into country (id, countryname, countrycode) values(138,'San Marino','SM');

insert into country (id, countryname, countrycode) values(139,'Sao Tome and Principe','ST');

insert into country (id, countryname, countrycode) values(140,'Saudi Arabia','SA');

insert into country (id, countryname, countrycode) values(141,'Senegal','SN');

insert into country (id, countryname, countrycode) values(142,'Seychelles','SC');

insert into country (id, countryname, countrycode) values(143,'Sierra Leone','SL');

insert into country (id, countryname, countrycode) values(144,'Singapore','SG');

insert into country (id, countryname, countrycode) values(145,'Slovakia','SK');

insert into country (id, countryname, countrycode) values(146,'Slovenia','SI');

insert into country (id, countryname, countrycode) values(147,'Solomon Is','SB');

insert into country (id, countryname, countrycode) values(148,'Somali','SO');

insert into country (id, countryname, countrycode) values(149,'South Africa','ZA');

insert into country (id, countryname, countrycode) values(150,'Spain','ES');

insert into country (id, countryname, countrycode) values(151,'Sri Lanka','LK');

insert into country (id, countryname, countrycode) values(152,'St.Lucia','LC');

insert into country (id, countryname, countrycode) values(153,'St.Vincent','VC');

insert into country (id, countryname, countrycode) values(154,'Sudan','SD');

insert into country (id, countryname, countrycode) values(155,'Suriname','SR');

insert into country (id, countryname, countrycode) values(156,'Swaziland','SZ');

insert into country (id, countryname, countrycode) values(157,'Sweden','SE');

insert into country (id, countryname, countrycode) values(158,'Switzerland','CH');

insert into country (id, countryname, countrycode) values(159,'Syria','SY');

insert into country (id, countryname, countrycode) values(160,'Taiwan','TW');

insert into country (id, countryname, countrycode) values(161,'Tajikstan','TJ');

insert into country (id, countryname, countrycode) values(162,'Tanzania','TZ');

insert into country (id, countryname, countrycode) values(163,'Thailand','TH');

insert into country (id, countryname, countrycode) values(164,'Togo','TG');

insert into country (id, countryname, countrycode) values(165,'Tonga','TO');

insert into country (id, countryname, countrycode) values(166,'Trinidad and Tobago','TT');

insert into country (id, countryname, countrycode) values(167,'Tunisia','TN');

insert into country (id, countryname, countrycode) values(168,'Turkey','TR');

insert into country (id, countryname, countrycode) values(169,'Turkmenistan','TM');

insert into country (id, countryname, countrycode) values(170,'Uganda','UG');

insert into country (id, countryname, countrycode) values(171,'Ukraine','UA');

insert into country (id, countryname, countrycode) values(172,'United Arab Emirates','AE');

insert into country (id, countryname, countrycode) values(173,'United Kiongdom','GB');

insert into country (id, countryname, countrycode) values(174,'United States of America','US');

insert into country (id, countryname, countrycode) values(175,'Uruguay','UY');

insert into country (id, countryname, countrycode) values(176,'Uzbekistan','UZ');

insert into country (id, countryname, countrycode) values(177,'Venezuela','VE');

insert into country (id, countryname, countrycode) values(178,'Vietnam','VN');

insert into country (id, countryname, countrycode) values(179,'Yemen','YE');

insert into country (id, countryname, countrycode) values(180,'Yugoslavia','YU');

insert into country (id, countryname, countrycode) values(181,'Zimbabwe','ZW');

insert into country (id, countryname, countrycode) values(182,'Zaire','ZR');

insert into country (id, countryname, countrycode) values(183,'Zambia','ZM');

好,一切准备就绪,启动springboot项目,浏览器访问,注意controller中打印

第一次请求:

Springboot2中如何集成pagehelper

controller打印:

Springboot2中如何集成pagehelper

第二次请求:

Springboot2中如何集成pagehelper

controller打印:

Springboot2中如何集成pagehelper

OK ,验证完毕!完美!!!

补充:

  在做分页功能时,前端分页插件一般都需要一些诸如当前页数,总条数,总共多少页之类的数据,这时可以引用PageInfo这个对象,它完全能够满足插件的分页要求。

1

2

3

4

5

6

7

8

9

10

11

12

13

@GetMapping("/findAll")

  public PageInfo<Country> findAll(@RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "20") Integer pageSize) {

    PageHelper.startPage(pageNum, pageSize);

    List<Country> countries = countryMapper.findAll();

 

//    Page page = (Page) countries;

//    System.out.println("每页展示条数:" + page.getPageSize());

//    System.out.println("总条数:" + page.getTotal());

//    System.out.println("当前页:" + page.getPageNum());

//    System.out.println("总页数:" + page.getPages());

    PageInfo<Country> result = new PageInfo<>(countries);

    return result;

  }

请求测试:

Springboot2中如何集成pagehelper

查看PageInfo类的源码,不难发现,它对前端分页插件的属性支持还是很全面的

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

private int pageNum; // 当前页码

  private int pageSize; // 每页展示的多少条数据

  private int size;     // 数据总条数

  private int startRow; 

  private int endRow;

  private int pages;   // 总共多少页

  private int prePage;  // 前一页

  private int nextPage; // 后一页

  private boolean isFirstPage;

  private boolean isLastPage;

  private boolean hasPreviousPage;

  private boolean hasNextPage;

  private int navigatePages;

  private int[] navigatepageNums;

  private int navigateFirstPage;

  private int navigateLastPage;

以上就是Springboot2中如何集成pagehelper的详细内容


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

大众 新闻27389