
后端部分 springboot
- 第一步:在util包下定义PageBean<T>工具类用于接受一个分页查询结果
import java.util.List;
//数据库自定义分页查询的工具类
@Data
public class PageBean<T> {
private int currPage;//当前页数
private int pageSize;//每页的数据条数
private int totalCount;//总记录数
private int totalPage;//总页数
private List<T> lists;//每页的显示的数据
public PageBean() {
super();
@Override
public String toString() {
return \"PageBean{\" +
\"currPage=\" + currPage +
\" pageSize=\" + pageSize +
\" totalCount=\" + totalCount +
\" totalPage=\" + totalPage +
\" lists=\" + lists +
'';
- 第二步:具体业务实现serviceImpl
* 分页查询短信历史纪录
* @param currPage 第几页
* @param pageSize 每页显示的条数
【路由器|Mybatis+element简单实现自定义数据库分页查询】* @return PageBean<Map<StringObject>> 这里我用map来接收数据库返回的信息 , 你也可以用你的实体类来接收PageBean<User>
*/
@Resource
private UserDaoMapper userDaoMapper; //这里改为你自己的mapper接口
public PageBean<User> findAllUser(int currPageint pageSize){
HashMap<String Object> map = new HashMap<>();//哈希集合存储不重复的数据
PageBean<User> pageBean = new PageBean<>();
//每页显示的数据条数
pageBean.setPageSize(pageSize);
//封装总记录数 , 获取总数
int totalCount = userDaoMapper.getUserNumber(); //改为你自己的接口
pageBean.setTotalCount(totalCount);
//如果没有数据直接返回
if(totalCount==0){
return pageBean;
//封装总页数
double tc = totalCount;
Double num = Math.ceil(tc / pageSize);//向上取整
pageBean.setTotalPage(num.intValue());
//传入的当前页小于1时则等于1 , 大于总页数则等于总页数也就是最后一页
if(currPage<1) currPage=1;
else if(currPage>pageBean.getTotalPage()) currPage = pageBean.getTotalPage();
//封装当前页数
pageBean.setCurrPage(currPage);
map.put(\"start\" (currPage - 1) * pageSize);
map.put(\"size\" pageBean.getPageSize());
//封装每页显示的数据
List<User> lists = userDaoMapper.findAllUser(map); //改为你自己的接口
for(User user:lists){
user.setPassword(\"\");
pageBean.setLists(lists);
return pageBean;
- 第三步:mapper的XML文件
<select id=\"findAllUser\" parameterType=\"Map\" resultType=\"map\">
select * from users limit #{start#{size
</select>
<!--获取用户的总数-->
<select id=\"getUserNumber\" resultType=\"int\">
select count(*) from users
</select>
- 第四步:接口层
* 获取历史记录
* limit 每页显示多少条数据
* page 第几页
* @return
*/
@GetMapping(\"/sms/getsmsloglist\")
public Result getSmslogList(@RequestParam(\"limit\") Integer limit@RequestParam(\"page\") Integer page) {
return userService.findAllUser(pagelimit); //调用业务实现 , 返回结果根据你自己的返回结构封装
- 火星和地球交换位置会如何?火星会出现生命吗?答案没你想得简单
- 路由器|WiFi信号增强从简到易,软硬兼施后效果明显
- 如何实现一根网线连接路由器,既能上网又可以使用itv呢?
- 路由器|价值4200万越南盾!三星推出S22Ultra限量版,国内会有吗?
- 路由器|TP-LINK不公布路由器CPU、内存等硬件参数的原因
- 路由器|千兆宽带虚标?可能和运营商无关,你的路由器性能真的够吗?
- 软件|简单但必学的几款交互软件
- 路由器|家庭常用的光猫、路由器、电视盒子区别大吗?具体都有哪些作用
- 锐龙|3000兆无线速率,满血Wi-Fi6,中兴AX3000巡天版无线路由器简评
- |升级WIFI6让网速更加稳定,华为AX6性能超过千元级路由器
