博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBatis之PageHelper分页插件
阅读量:3712 次
发布时间:2019-05-21

本文共 3083 字,大约阅读时间需要 10 分钟。

我们在上一篇整合SpringBoot的基础之上,再进行PageHelper分页插件的实验。

首先我们先在数据库内准备一些用于测试的数据

pom文件引入pagehelper-spring-boot-starter

com.github.pagehelper
pagehelper-spring-boot-starter
1.2.10

配置文件application.properties对PageHelper插件进行配置

#配置PageHelper# 数据库方言pagehelper.helper-dialect=mysql# 判断合理性比如负数和超过最大总数pagehelper.reasonable=true# 支持方法参数pagehelper.support-methods-arguments=true

配置完毕,我们可以使用PageHelper了,在UserService中定义一个需要进行分页的方法

public Map
listUser(User user, int pageNum, int pageSize) { Map
result = new HashMap
(); //只对该语句后的第一个查询语句得到的数据进行分页 Page
page=PageHelper.startPage(pageNum, pageSize); List
list = userMapper.listUser(user); result.put("data", list); result.put("pages", page.getTotal()); return result;}

如上所示,我们在需要进行分页的持久层方法userMapper.listUser(user)上面,添加一行代码分页的代码

Page
page=PageHelper.startPage(pageNum, pageSize);

UserMapper.xml不需要进行特殊的处理,只需编写正常的查询SQL

准备完毕,我们可以进行单元测试了

@Testpublic void listUser() {	User user =new User();		user.setName("test");	Map
result=userService.listUser(user,1,5); List
list =(List
) result.get("data"); for(User u:list){ log.info("u:"+u); } log.info("pages:"+result.get("pages")); }

查看结果

2018-12-06 09:20:19.768 DEBUG 2484 --- [           main] com.yj.dao.UserMapper.listUser_COUNT     : ==>  Preparing: SELECT count(0) FROM user WHERE name LIKE concat('%', ?, '%') 2018-12-06 09:20:19.913 DEBUG 2484 --- [           main] com.yj.dao.UserMapper.listUser_COUNT     : ==> Parameters: test(String)2018-12-06 09:20:19.930 DEBUG 2484 --- [           main] com.yj.dao.UserMapper.listUser_COUNT     : <==      Total: 12018-12-06 09:20:19.933 DEBUG 2484 --- [           main] com.yj.dao.UserMapper.listUser           : ==>  Preparing: select id, name,age from user WHERE name like concat('%',?,'%') order by id LIMIT ? 2018-12-06 09:20:19.937 DEBUG 2484 --- [           main] com.yj.dao.UserMapper.listUser           : ==> Parameters: test(String), 5(Integer)2018-12-06 09:20:19.940 DEBUG 2484 --- [           main] com.yj.dao.UserMapper.listUser           : <==      Total: 52018-12-06 09:20:19.942  INFO 2484 --- [           main] com.yj.service.UserServiceTest           : u:User [id=1, name=test1, age=18]2018-12-06 09:20:19.943  INFO 2484 --- [           main] com.yj.service.UserServiceTest           : u:User [id=2, name=test2, age=18]2018-12-06 09:20:19.944  INFO 2484 --- [           main] com.yj.service.UserServiceTest           : u:User [id=3, name=test3, age=18]2018-12-06 09:20:19.944  INFO 2484 --- [           main] com.yj.service.UserServiceTest           : u:User [id=4, name=test4, age=18]2018-12-06 09:20:19.944  INFO 2484 --- [           main] com.yj.service.UserServiceTest           : u:User [id=5, name=test5, age=18]2018-12-06 09:20:19.944  INFO 2484 --- [           main] com.yj.service.UserServiceTest           : pages:14

这样,我们就利用PageHelper分页插件,实现了数据的查询和数据总数的查询

转载地址:http://hpsjn.baihongyu.com/

你可能感兴趣的文章
Git Bash 将本地代码提交到Github
查看>>
文件系统和磁盘调度例题
查看>>
Excel到期提醒制作
查看>>
Excel 表格核对方法
查看>>
Python对象和容器(各种数据类型)
查看>>
MySQL外键 Cannot add or update a child row错误的实例解释
查看>>
Kosaraju算法、强连通图(例C-班长竞选
查看>>
简单题C - 签到题(C++
查看>>
程序设计之B - 东东学打牌(C++
查看>>
无人机官网介绍
查看>>
开源飞控PX4简介
查看>>
改变gazebo背景颜色
查看>>
PX4多机ros仿真报错
查看>>
ubuntu安装qwt出现错误时"mkdir: 无法创建目录“/usr/local/qwt-6.1.3“: 权限不够"
查看>>
QT串口调试软件
查看>>
QGC开发(一)---编译构建源码
查看>>
Ubuntu安装QT后无法输入中文怎么办?
查看>>
新装Ubuntu18.04系统配置PX4环境
查看>>
QGC注释消息提示框
查看>>
Qt编译PX4源码,参考如下进行配置
查看>>