栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring Boot查询数据分页显示的方法实例

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring Boot查询数据分页显示的方法实例

springBoot所有依赖和配置文件都写好的情况下

1、dao接口的实现方法

package com.cy.pj.sys.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.cy.pj.sys.pojo.SysLog;
@Mapper
public interface SysLogDao {

 int getRowCount(@Param("username") String username);
 
 List findPageObjects(
   @Param("username")String username,
   @Param("startIndex")Integer startIndex,
   @Param("pageSize")Integer pageSize
   );
}

2、写实现dao中Mapper的sql语句





 
  from sys_Logs
  
   
    username like concat('%',#{username},'%')
    
   
  
 
 
 
 
 

3、写pojo类对数据进行封装,所显示的表字段的pojo类

3.1这里是SysLog

package com.cy.pj.sys.pojo;
import java.io.Serializable;
import java.util.Date;

import lombok.Data;

@Data
public class SysLog implements Serializable{

 private static final long serialVersionUID = -1592163223057343412L;
private Integer id;
//用户名
private String username;
//用户操作
private String operation;
//请求方法
private String method;
//请求参数
private String params;
//执行时长(毫秒)
private Long time;
//ip地址
private String ip;
//创建时间
private Date createdTime;
}

3.2对获取的信息进行封装(获取分页信息的页码值、页面大小(就是每页所显示的记录)、获取的表总共记录数、总页数 、当前记录)

package com.cy.pj.sys.pojo;

import java.util.List;

import lombok.Data;

@Data
public class PageObject {//类名<泛型>:类泛型(这里的泛型用于约束类中的属性,方法参数,方法的返回值)
 
 private Integer pageCurrent=1;
  
 private Integer pageSize=3;
  

 private Integer rowCount=0;
 

 private Integer pageCount=0;
 
  private List records;

}

3.3处理异常进行封装

package com.cy.pj.sys.pojo;

public class JsonResult {
 
private int state=1;

private String message="ok";

private Object data;
public JsonResult() {
}
public JsonResult(String message) {
 this.message = message;

}
public JsonResult(Object data) {
 this.data = data;
}
public JsonResult(Throwable t) {
 this.state=0;
 this.message=t.getMessage();

}
public int getState() {
 return state;
}
public void setState(int state) {
 this.state = state;
}
public String getMessage() {
 return message;
}
public void setMessage(String message) {
 this.message = message;
}
public Object getData() {
 return data;
}
public void setData(Object data) {
 this.data = data;
}

}

4、写service接口

package com.cy.pj.sys.service;

import com.cy.pj.sys.pojo.PageObject;
import com.cy.pj.sys.pojo.SysLog;

public interface SysLogService {
 PageObject findPageObject(String username,Integer pageCurrent);
}

5、写实现service接口的实现类

package com.cy.pj.sys.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.cy.pj.sys.dao.SysLogDao;
import com.cy.pj.sys.pojo.PageObject;
import com.cy.pj.sys.pojo.SysLog;
import com.cy.pj.sys.service.SysLogService;

import om.cy.pj.common.exception.ServiceException;
@Service
public class SysLogServiceImpl implements SysLogService {
 @Autowired
 private SysLogDao sysLogDao;

 @Override
 public PageObject findPageObject(String username, Integer pageCurrent) {
  // 1.验证参数的合法性
  // 1.1验证pageCurrent的合法性
  // 不合法抛出IllegalArgumentException异常
  if (pageCurrent == null || pageCurrent < 1)
   throw new IllegalArgumentException("当前也显示不正确");
  // 基于条件查询总记录数
  // 2.1执行查询
  int rowCount = sysLogDao.getRowCount(username);
  // 2.2验证查询结果,假如结果为0不在执行如下操作
  if (rowCount == 0)

   throw new ServiceException("系统登录没有查到对应的记录");
  // 3.基于条件查询当前页记录(pageSize定义为2)
  // 3.1)定义pageSize
  int pageSize = 2;
  //3.2计算startIndex
  int startIndex=(pageCurrent-1)*pageSize;
  //3.3执行当前数据的查询操作
  List records = sysLogDao.findPageObjects(username, startIndex, pageSize);
  //4.对分页信息以及当前页记录进行封装
  //4.1 构建PageObject对象
  PageObject pageObject = new PageObject<>();
  //4.2封装数据
   pageObject.setPageCurrent(pageCurrent);
   pageObject.setPageSize(pageSize);
   pageObject.setRowCount(rowCount);
   pageObject.setRecords(records);
   pageObject.setPageCount((rowCount-1)/pageSize+1);
   //5.返回封装结果
  return pageObject;
 }

}

5.自定义异常

package om.cy.pj.common.exception;

public class ServiceException extends RuntimeException {
public ServiceException() {
 super();
}

public ServiceException(String message) {
 super(message);
}
public ServiceException(Throwable cause) {
 super(cause);
}
}

controller类

package om.cy.pj.common.exception;

public class ServiceException extends RuntimeException {
public ServiceException() {
 super();
}

public ServiceException(String message) {
 super(message);
}
public ServiceException(Throwable cause) {
 super(cause);
}
}

html页面和js写的方法

数据显示页面的js编写方法


   
  
  
 

创建上下页翻页的按钮HTML页 以及js的编写

  • 首页
  • 上一页
  • 下一页
  • 尾页
  • 总记录数(0)
  • 总页数(0)
  • 当前页(0)
~~~~

总结

到此这篇关于spring Boot查询数据分页显示的文章就介绍到这了,更多相关springBoot查询数据分页内容请搜索考高分网以前的文章或继续浏览下面的相关文章希望大家以后多多支持考高分网!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/132604.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号