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

     好, 暂时就到这里吧,以后再补充!

  • 相关阅读:
    Linux之20——sudo命令
    Linux之18——Linux下安装MySQL及远程连接MySQL
    Linux之17——Git安装及使用以及连接GitHub方法详解
    Linux之16——free性能调优命令
    Linux之15——nc命令详解
    Linux之14——curl命令详解
    Linux之13——常用统计命令之wc
    15 Python 迭代器和生成器
    16 Python 递归函数
    17 python 内置函数
  • 原文地址:https://www.cnblogs.com/z-qinfeng/p/11874767.html
Copyright © 2020-2023  润新知