Springboot2集成pagehelper过程图解
springboot2集成pagehelper超级简单,本示例直接抄袭官方示例,仅将数据库由H2改成MySQL而已。
1、pom.xml
4.0.0 org.springframework.boot spring-boot-starter-parent 2.2.1.RELEASE qinfeng.zheng learn-pagequery 0.0.1-SNAPSHOT learn-pagequery DemoprojectforSpringBoot 1.8 org.springframework.boot spring-boot-starter-web org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.2 mysql mysql-connector-java 5.1.47 runtime org.springframework.boot spring-boot-starter-test test org.junit.vintage junit-vintage-engine com.github.pagehelper pagehelper-spring-boot-starter 1.2.12 org.springframework.boot spring-boot-maven-plugin
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.实体类
publicclassCountryimplementsSerializable{ privatestaticfinallongserialVersionUID=6569081236403751407L; privateintid; privateStringcountryname; privateStringcountrycode; publicintgetId(){ returnid; } publicvoidsetId(intid){ this.id=id; } publicStringgetCountryname(){ returncountryname; } publicvoidsetCountryname(Stringcountryname){ this.countryname=countryname; } publicStringgetCountrycode(){ returncountrycode; } publicvoidsetCountrycode(Stringcountrycode){ this.countrycode=countrycode; } }
4,mapper接口类
@Mapper publicinterfaceCountryMapper{ @Select("select*fromcountry") ListfindAll(); }
5.cotroller类
@RestController publicclassCountryController{ @Autowired privateCountryMappercountryMapper; @GetMapping("/findAll") publicListfindAll(@RequestParam(defaultValue="1")IntegerpageNum,@RequestParam(defaultValue="20")IntegerpageSize){ PageHelper.startPage(pageNum,pageSize); List countries=countryMapper.findAll(); Pagepage=(Page)countries; System.out.println("每页展示条数:"+page.getPageSize()); System.out.println("总条数:"+page.getTotal()); System.out.println("当前页:"+page.getPageNum()); System.out.println("总页数:"+page.getPages()); returncountries; } }
7.测试数据
直接抄官方数据
droptablecountryifexists; createtablecountry( idintprimarykeyauto_increment, countrynamevarchar(32), countrycodevarchar(2) ); insertintocountry(id,countryname,countrycode)values(1,'Angola','AO'); insertintocountry(id,countryname,countrycode)values(2,'Afghanistan','AF'); insertintocountry(id,countryname,countrycode)values(3,'Albania','AL'); insertintocountry(id,countryname,countrycode)values(4,'Algeria','DZ'); insertintocountry(id,countryname,countrycode)values(5,'Andorra','AD'); insertintocountry(id,countryname,countrycode)values(6,'Anguilla','AI'); insertintocountry(id,countryname,countrycode)values(7,'AntiguaandBarbuda','AG'); insertintocountry(id,countryname,countrycode)values(8,'Argentina','AR'); insertintocountry(id,countryname,countrycode)values(9,'Armenia','AM'); insertintocountry(id,countryname,countrycode)values(10,'Australia','AU'); insertintocountry(id,countryname,countrycode)values(11,'Austria','AT'); insertintocountry(id,countryname,countrycode)values(12,'Azerbaijan','AZ'); insertintocountry(id,countryname,countrycode)values(13,'Bahamas','BS'); insertintocountry(id,countryname,countrycode)values(14,'Bahrain','BH'); insertintocountry(id,countryname,countrycode)values(15,'Bangladesh','BD'); insertintocountry(id,countryname,countrycode)values(16,'Barbados','BB'); insertintocountry(id,countryname,countrycode)values(17,'Belarus','BY'); insertintocountry(id,countryname,countrycode)values(18,'Belgium','BE'); insertintocountry(id,countryname,countrycode)values(19,'Belize','BZ'); insertintocountry(id,countryname,countrycode)values(20,'Benin','BJ'); insertintocountry(id,countryname,countrycode)values(21,'BermudaIs.','BM'); insertintocountry(id,countryname,countrycode)values(22,'Bolivia','BO'); insertintocountry(id,countryname,countrycode)values(23,'Botswana','BW'); insertintocountry(id,countryname,countrycode)values(24,'Brazil','BR'); insertintocountry(id,countryname,countrycode)values(25,'Brunei','BN'); insertintocountry(id,countryname,countrycode)values(26,'Bulgaria','BG'); insertintocountry(id,countryname,countrycode)values(27,'Burkina-faso','BF'); insertintocountry(id,countryname,countrycode)values(28,'Burma','MM'); insertintocountry(id,countryname,countrycode)values(29,'Burundi','BI'); insertintocountry(id,countryname,countrycode)values(30,'Cameroon','CM'); insertintocountry(id,countryname,countrycode)values(31,'Canada','CA'); insertintocountry(id,countryname,countrycode)values(32,'CentralAfricanRepublic','CF'); insertintocountry(id,countryname,countrycode)values(33,'Chad','TD'); insertintocountry(id,countryname,countrycode)values(34,'Chile','CL'); insertintocountry(id,countryname,countrycode)values(35,'China','CN'); insertintocountry(id,countryname,countrycode)values(36,'Colombia','CO'); insertintocountry(id,countryname,countrycode)values(37,'Congo','CG'); insertintocountry(id,countryname,countrycode)values(38,'CookIs.','CK'); insertintocountry(id,countryname,countrycode)values(39,'CostaRica','CR'); insertintocountry(id,countryname,countrycode)values(40,'Cuba','CU'); insertintocountry(id,countryname,countrycode)values(41,'Cyprus','CY'); insertintocountry(id,countryname,countrycode)values(42,'CzechRepublic','CZ'); insertintocountry(id,countryname,countrycode)values(43,'Denmark','DK'); insertintocountry(id,countryname,countrycode)values(44,'Djibouti','DJ'); insertintocountry(id,countryname,countrycode)values(45,'DominicaRep.','DO'); insertintocountry(id,countryname,countrycode)values(46,'Ecuador','EC'); insertintocountry(id,countryname,countrycode)values(47,'Egypt','EG'); insertintocountry(id,countryname,countrycode)values(48,'EISalvador','SV'); insertintocountry(id,countryname,countrycode)values(49,'Estonia','EE'); insertintocountry(id,countryname,countrycode)values(50,'Ethiopia','ET'); insertintocountry(id,countryname,countrycode)values(51,'Fiji','FJ'); insertintocountry(id,countryname,countrycode)values(52,'Finland','FI'); insertintocountry(id,countryname,countrycode)values(53,'France','FR'); insertintocountry(id,countryname,countrycode)values(54,'FrenchGuiana','GF'); insertintocountry(id,countryname,countrycode)values(55,'Gabon','GA'); insertintocountry(id,countryname,countrycode)values(56,'Gambia','GM'); insertintocountry(id,countryname,countrycode)values(57,'Georgia','GE'); insertintocountry(id,countryname,countrycode)values(58,'Germany','DE'); insertintocountry(id,countryname,countrycode)values(59,'Ghana','GH'); insertintocountry(id,countryname,countrycode)values(60,'Gibraltar','GI'); insertintocountry(id,countryname,countrycode)values(61,'Greece','GR'); insertintocountry(id,countryname,countrycode)values(62,'Grenada','GD'); insertintocountry(id,countryname,countrycode)values(63,'Guam','GU'); insertintocountry(id,countryname,countrycode)values(64,'Guatemala','GT'); insertintocountry(id,countryname,countrycode)values(65,'Guinea','GN'); insertintocountry(id,countryname,countrycode)values(66,'Guyana','GY'); insertintocountry(id,countryname,countrycode)values(67,'Haiti','HT'); insertintocountry(id,countryname,countrycode)values(68,'Honduras','HN'); insertintocountry(id,countryname,countrycode)values(69,'Hongkong','HK'); insertintocountry(id,countryname,countrycode)values(70,'Hungary','HU'); insertintocountry(id,countryname,countrycode)values(71,'Iceland','IS'); insertintocountry(id,countryname,countrycode)values(72,'India','IN'); insertintocountry(id,countryname,countrycode)values(73,'Indonesia','ID'); insertintocountry(id,countryname,countrycode)values(74,'Iran','IR'); insertintocountry(id,countryname,countrycode)values(75,'Iraq','IQ'); insertintocountry(id,countryname,countrycode)values(76,'Ireland','IE'); insertintocountry(id,countryname,countrycode)values(77,'Israel','IL'); insertintocountry(id,countryname,countrycode)values(78,'Italy','IT'); insertintocountry(id,countryname,countrycode)values(79,'Jamaica','JM'); insertintocountry(id,countryname,countrycode)values(80,'Japan','JP'); insertintocountry(id,countryname,countrycode)values(81,'Jordan','JO'); insertintocountry(id,countryname,countrycode)values(82,'Kampuchea(Cambodia)','KH'); insertintocountry(id,countryname,countrycode)values(83,'Kazakstan','KZ'); insertintocountry(id,countryname,countrycode)values(84,'Kenya','KE'); insertintocountry(id,countryname,countrycode)values(85,'Korea','KR'); insertintocountry(id,countryname,countrycode)values(86,'Kuwait','KW'); insertintocountry(id,countryname,countrycode)values(87,'Kyrgyzstan','KG'); insertintocountry(id,countryname,countrycode)values(88,'Laos','LA'); insertintocountry(id,countryname,countrycode)values(89,'Latvia','LV'); insertintocountry(id,countryname,countrycode)values(90,'Lebanon','LB'); insertintocountry(id,countryname,countrycode)values(91,'Lesotho','LS'); insertintocountry(id,countryname,countrycode)values(92,'Liberia','LR'); insertintocountry(id,countryname,countrycode)values(93,'Libya','LY'); insertintocountry(id,countryname,countrycode)values(94,'Liechtenstein','LI'); insertintocountry(id,countryname,countrycode)values(95,'Lithuania','LT'); insertintocountry(id,countryname,countrycode)values(96,'Luxembourg','LU'); insertintocountry(id,countryname,countrycode)values(97,'Macao','MO'); insertintocountry(id,countryname,countrycode)values(98,'Madagascar','MG'); insertintocountry(id,countryname,countrycode)values(99,'Malawi','MW'); insertintocountry(id,countryname,countrycode)values(100,'Malaysia','MY'); insertintocountry(id,countryname,countrycode)values(101,'Maldives','MV'); insertintocountry(id,countryname,countrycode)values(102,'Mali','ML'); insertintocountry(id,countryname,countrycode)values(103,'Malta','MT'); insertintocountry(id,countryname,countrycode)values(104,'Mauritius','MU'); insertintocountry(id,countryname,countrycode)values(105,'Mexico','MX'); insertintocountry(id,countryname,countrycode)values(106,'Moldova,Republicof','MD'); insertintocountry(id,countryname,countrycode)values(107,'Monaco','MC'); insertintocountry(id,countryname,countrycode)values(108,'Mongolia','MN'); insertintocountry(id,countryname,countrycode)values(109,'MontserratIs','MS'); insertintocountry(id,countryname,countrycode)values(110,'Morocco','MA'); insertintocountry(id,countryname,countrycode)values(111,'Mozambique','MZ'); insertintocountry(id,countryname,countrycode)values(112,'Namibia','NA'); insertintocountry(id,countryname,countrycode)values(113,'Nauru','NR'); insertintocountry(id,countryname,countrycode)values(114,'Nepal','NP'); insertintocountry(id,countryname,countrycode)values(115,'Netherlands','NL'); insertintocountry(id,countryname,countrycode)values(116,'NewZealand','NZ'); insertintocountry(id,countryname,countrycode)values(117,'Nicaragua','NI'); insertintocountry(id,countryname,countrycode)values(118,'Niger','NE'); insertintocountry(id,countryname,countrycode)values(119,'Nigeria','NG'); insertintocountry(id,countryname,countrycode)values(120,'NorthKorea','KP'); insertintocountry(id,countryname,countrycode)values(121,'Norway','NO'); insertintocountry(id,countryname,countrycode)values(122,'Oman','OM'); insertintocountry(id,countryname,countrycode)values(123,'Pakistan','PK'); insertintocountry(id,countryname,countrycode)values(124,'Panama','PA'); insertintocountry(id,countryname,countrycode)values(125,'PapuaNewCuinea','PG'); insertintocountry(id,countryname,countrycode)values(126,'Paraguay','PY'); insertintocountry(id,countryname,countrycode)values(127,'Peru','PE'); insertintocountry(id,countryname,countrycode)values(128,'Philippines','PH'); insertintocountry(id,countryname,countrycode)values(129,'Poland','PL'); insertintocountry(id,countryname,countrycode)values(130,'FrenchPolynesia','PF'); insertintocountry(id,countryname,countrycode)values(131,'Portugal','PT'); insertintocountry(id,countryname,countrycode)values(132,'PuertoRico','PR'); insertintocountry(id,countryname,countrycode)values(133,'Qatar','QA'); insertintocountry(id,countryname,countrycode)values(134,'Romania','RO'); insertintocountry(id,countryname,countrycode)values(135,'Russia','RU'); insertintocountry(id,countryname,countrycode)values(136,'SaintLueia','LC'); insertintocountry(id,countryname,countrycode)values(137,'SaintVincent','VC'); insertintocountry(id,countryname,countrycode)values(138,'SanMarino','SM'); insertintocountry(id,countryname,countrycode)values(139,'SaoTomeandPrincipe','ST'); insertintocountry(id,countryname,countrycode)values(140,'SaudiArabia','SA'); insertintocountry(id,countryname,countrycode)values(141,'Senegal','SN'); insertintocountry(id,countryname,countrycode)values(142,'Seychelles','SC'); insertintocountry(id,countryname,countrycode)values(143,'SierraLeone','SL'); insertintocountry(id,countryname,countrycode)values(144,'Singapore','SG'); insertintocountry(id,countryname,countrycode)values(145,'Slovakia','SK'); insertintocountry(id,countryname,countrycode)values(146,'Slovenia','SI'); insertintocountry(id,countryname,countrycode)values(147,'SolomonIs','SB'); insertintocountry(id,countryname,countrycode)values(148,'Somali','SO'); insertintocountry(id,countryname,countrycode)values(149,'SouthAfrica','ZA'); insertintocountry(id,countryname,countrycode)values(150,'Spain','ES'); insertintocountry(id,countryname,countrycode)values(151,'SriLanka','LK'); insertintocountry(id,countryname,countrycode)values(152,'St.Lucia','LC'); insertintocountry(id,countryname,countrycode)values(153,'St.Vincent','VC'); insertintocountry(id,countryname,countrycode)values(154,'Sudan','SD'); insertintocountry(id,countryname,countrycode)values(155,'Suriname','SR'); insertintocountry(id,countryname,countrycode)values(156,'Swaziland','SZ'); insertintocountry(id,countryname,countrycode)values(157,'Sweden','SE'); insertintocountry(id,countryname,countrycode)values(158,'Switzerland','CH'); insertintocountry(id,countryname,countrycode)values(159,'Syria','SY'); insertintocountry(id,countryname,countrycode)values(160,'Taiwan','TW'); insertintocountry(id,countryname,countrycode)values(161,'Tajikstan','TJ'); insertintocountry(id,countryname,countrycode)values(162,'Tanzania','TZ'); insertintocountry(id,countryname,countrycode)values(163,'Thailand','TH'); insertintocountry(id,countryname,countrycode)values(164,'Togo','TG'); insertintocountry(id,countryname,countrycode)values(165,'Tonga','TO'); insertintocountry(id,countryname,countrycode)values(166,'TrinidadandTobago','TT'); insertintocountry(id,countryname,countrycode)values(167,'Tunisia','TN'); insertintocountry(id,countryname,countrycode)values(168,'Turkey','TR'); insertintocountry(id,countryname,countrycode)values(169,'Turkmenistan','TM'); insertintocountry(id,countryname,countrycode)values(170,'Uganda','UG'); insertintocountry(id,countryname,countrycode)values(171,'Ukraine','UA'); insertintocountry(id,countryname,countrycode)values(172,'UnitedArabEmirates','AE'); insertintocountry(id,countryname,countrycode)values(173,'UnitedKiongdom','GB'); insertintocountry(id,countryname,countrycode)values(174,'UnitedStatesofAmerica','US'); insertintocountry(id,countryname,countrycode)values(175,'Uruguay','UY'); insertintocountry(id,countryname,countrycode)values(176,'Uzbekistan','UZ'); insertintocountry(id,countryname,countrycode)values(177,'Venezuela','VE'); insertintocountry(id,countryname,countrycode)values(178,'Vietnam','VN'); insertintocountry(id,countryname,countrycode)values(179,'Yemen','YE'); insertintocountry(id,countryname,countrycode)values(180,'Yugoslavia','YU'); insertintocountry(id,countryname,countrycode)values(181,'Zimbabwe','ZW'); insertintocountry(id,countryname,countrycode)values(182,'Zaire','ZR'); insertintocountry(id,countryname,countrycode)values(183,'Zambia','ZM');
好,一切准备就绪,启动springboot项目,浏览器访问,注意controller中打印
第一次请求:
controller打印:
第二次请求:
controller打印:
OK,验证完毕!完美!!!
补充:
在做分页功能时,前端分页插件一般都需要一些诸如当前页数,总条数,总共多少页之类的数据,这时可以引用PageInfo这个对象,它完全能够满足插件的分页要求。
@GetMapping("/findAll") publicPageInfofindAll(@RequestParam(defaultValue="1")IntegerpageNum,@RequestParam(defaultValue="20")IntegerpageSize){ PageHelper.startPage(pageNum,pageSize); List countries=countryMapper.findAll(); //Pagepage=(Page)countries; //System.out.println("每页展示条数:"+page.getPageSize()); //System.out.println("总条数:"+page.getTotal()); //System.out.println("当前页:"+page.getPageNum()); //System.out.println("总页数:"+page.getPages()); PageInfo result=newPageInfo<>(countries); returnresult; }
请求测试:
查看PageInfo类的源码,不难发现,它对前端分页插件的属性支持还是很全面的
privateintpageNum;//当前页码 privateintpageSize;//每页展示的多少条数据 privateintsize;//数据总条数 privateintstartRow; privateintendRow; privateintpages;//总共多少页 privateintprePage;//前一页 privateintnextPage;//后一页 privatebooleanisFirstPage; privatebooleanisLastPage; privatebooleanhasPreviousPage; privatebooleanhasNextPage; privateintnavigatePages; privateint[]navigatepageNums; privateintnavigateFirstPage; privateintnavigateLastPage;
好,暂时就到这里吧,以后再补充!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。