大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
首先我们要清楚java分页的思路
第一我们要明白前端页面需要向java后台传递当前页码数以及每页显示多少条数据
第二java后台代码需要向前端页面传递每页显示的数据,以及总条数以及总页数
代码如下:
首先我们要创建一个分页类用来存储数据
public class PageObject implements Serializable {
private static final long serialVersionUID = 1L;
/** 当前页的页码值 */
private Integer pageCurrent = 1;
/** 页面大小 */
private Integer pageSize = 10;
/** 总行数(通过查询获得) */
private Integer rowCount = 0;
/** 总页数(通过计算获得) */
private Integer pageCount = 0;
/** 当前页记录 */
private List records;
public Integer getPageCurrent() {
return pageCurrent;
}
public void setPageCurrent(Integer pageCurrent) {
this.pageCurrent = pageCurrent;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
public Integer getRowCount() {
return rowCount;
}
public void setRowCount(Integer rowCount) {
this.rowCount = rowCount;
}
public Integer getPageCount() {
pageCount = rowCount / pageSize;
if (rowCount % pageSize != 0) {
pageCount++;
}
return pageCount;
}
public void setPageCount(Integer pageCount) {
this.pageCount = pageCount;
}
public List getRecords() {
return records;
}
public void setRecords(List records) {
this.records = records;
}
@Override
public String toString() {
return “PageObject [pageCurrent=” + pageCurrent + “, pageSize=” + pageSize + “, rowCount=” + rowCount
+ “, pageCount=” + pageCount + “, records=” + records + “]”;
}
}
Controller层方法:
@RequestMapping(“/getLog”)
@ResponseBody
public PageObject getLog(@RequestBody Map param) throws ParseException {
System.out.println(“Map集合参数” + param);
String user = (String) param.get(“user”);
String date = (String) param.get(“date”);
Date parse=null;
if(date!=null) {
SimpleDateFormat dFormat = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
parse= dFormat.parse(date); // Date date = (Date) param.get(“date”);
}
System.out.println(“解析后日期格式” + parse);
int pageCurrent = Integer.parseInt(“” + param.get(“pageCurrent”));
int pageSize = Integer.parseInt(“” + param.get(“pageSize”));
if (pageCurrent == 0) {
pageCurrent = 1;
}
if (pageSize == 0) {
pageSize = 10;
}
return logService.getLog(pageCurrent, pageSize, user, parse);
}
Service层代码:
@Autowired
SysLogDao logdao;
/***
* 根据日期或者用户查询
*/
@Override
public PageObject getLog( int pageCurrent, int pageSize,String user,Date date) {
PageObject pageObject = new PageObject();
// 设置当前页
pageObject.setPageCurrent(pageCurrent);
// 设置每页显示的条数
pageObject.setPageSize(pageSize);
// 设置总记录数
Map map=new HashMap();
map.put(“user”, user);
map.put(“date”, date);
int count = logdao.getLogCount(user,date);
System.out.println(“=============”);
System.out.println(“总条数”+count);
pageObject.setPageCount(count);
// 设置总页数
int page = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
pageObject.setRowCount(page);
// 设置每页显示数据集合
// 开始的记录数
int start = (pageCurrent – 1) * pageSize;
System.out.println(start+”-“+pageSize);
List byPage = logdao.getLog( start, pageSize,user,date);
pageObject.setRecords(byPage);
System.out.println(start+”-“+byPage);
return pageObject;
}
Mapper.xml代码如下:
select count(*) from sys_login_log
and login_user=#{user}
and log_date=#{date}
select * from sys_login_log
and login_user=#{user}
and log_date=#{date}
limit #{start},#{pageSize}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/188444.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...