springboot2集成pagehelper
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot2集成pagehelper相关的知识,希望对你有一定的参考价值。
springboot2集成pagehelper超级简单,本示例直接抄袭官方示例,仅将数据库由H2改成mysql而已。
1、 pom.xml
<?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. 实体类
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接口类
@Mapper public interface CountryMapper { @Select("select * from country") List<Country> findAll(); }
5. cotroller类
@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. 测试数据
直接抄官方数据
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中打印
第一次请求:
controller打印:
第二次请求:
controller打印:
OK ,验证完毕! 完美!!!
补充:
在做分页功能时,前端分页插件一般都需要一些诸如当前页数,总条数,总共多少页之类的数据,这时可以引用PageInfo这个对象,它完全能够满足插件的分页要求。
@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; }
请求测试:
查看PageInfo类的源码,不难发现,它对前端分页插件的属性支持还是很全面的
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的主要内容,如果未能解决你的问题,请参考以下文章
解决Springboot2.x版本pagehelper分页不生效的问题
解决Springboot2.x版本pagehelper分页不生效的问题
解决Springboot2.x版本pagehelper分页不生效的问题
SpringBoot2.0系列教程Springboot框架添加PageHelper分页查询功能
Spring boot入门:SpringBoot集成结合AdminLTE(Freemarker),利用generate自动生成代码,利用DataTable和PageHelper进行分页显示(示例(代码