SpringBootmaven项⽬使⽤PageHelper分页插件图⽂教程<!-- 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.0</version>
</dependency>
第⼆步:修改application.properties⽂件,在当前⽂件中添加分页启动器属性
#pagehelper
#指定数据库⽅⾔
pagehelper.helperDialect=mysql
#启⽤分页的合理性
#⽀持⽅法传参
pagehelper.supportMethodsArguments=true
第三步:代码实现
使⽤PageUtils的好处就是jsp页⾯取值⾮常简单 只需要写${fenye} 就可以正常实现功能了
PageUtils代码如下
import javax.servlet.http.HttpServletRequest;
public class PageUtils {
// 当前页
private int cpage;
// 总页数
private int totalPage;
// 总条数
private int count;
// 分页单位
private int pageSize;
// 上⼀页
private int prevPage;
// 下⼀页
private int nextPage;
// 起始位置
private int startPage;
public PageUtils(int cpage, int count, int pageSize, String url, HttpServletRequest request) {
this.pageSize = pageSize;
// 处理总页数
this.initTotalPage();
// 处理当前页
this.initCpage(cpage);
// 处理上⼀页
this.initPrevPage();
// 处理下⼀页
this.initnextPage();
// 处理起始位置
this.initStartPage();
// 把路径封装
this.initFenye(request, url);
}
//把路径封装
private void initFenye(HttpServletRequest request, String url) {
// 如果url中有? 后⾯追加条件时⽤& url中没有? 后⾯追加?
String flag = url.indexOf("?") != -1 ? "&" : "?";
String fenye = "当前" + cpage + "/" + totalPage + "页/共" + count + "条数据<a href='" + url + flag
+ "cpage=1'> ⾸页 </a><a href='" + url + flag + "cpage=" + prevPage + "'> 上⼀页 </a><a href='" + url + flag
+ "cpage=" + nextPage + "'> 下⼀页 </a><a href='" + url + flag + "cpage=" + totalPage + "'> 尾页</a>";
request.setAttribute("fenye", fenye);
}
// 处理起始位置
private void initStartPage() {
// 计算limit后的第⼀个参数 (当前页-1)*pageSize
this.startPage = (cpage - 1) * pageSize;
}
// 处理下⼀页
private void initnextPage() {
if (cpage >= totalPage) {
} else {
}
}
// 处理上⼀页
private void initPrevPage() {
/
/ <a href="list?cpage=${cpage<=1?1:cpage-1 }&name=${name }">上⼀页</a> if (cpage <= 1) {
this.prevPage = 1;
} else {
this.prevPage = cpage - 1;
}
}
// 处理总页数
private void initTotalPage() {
// 计算总页数 ==总条数/pageSize 有余数+1
}
/
/ 处理当前页
private void initCpage(int cpage2) {
if (cpage2 >= totalPage) {// 如果当前页⼤⼀等于最后⼀页 当前页=最后⼀页
this.cpage = totalPage;
} else if (cpage2 <= 1) {// 如果当前页⼩⼀等于1 当前页=1
this.cpage = 1;
分页查询插件} else {
this.cpage = cpage2;
}
}
public int getCpage() {
return cpage;
}
public void setCpage(int cpage) {
this.cpage = cpage;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) { alPage = totalPage;
}
public int getCount() {
return count;
}
public void setCount(int count) {
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) { this.pageSize = pageSize;
}
public int getPrevPage() {
return prevPage;
}
public void setPrevPage(int prevPage) { this.prevPage = prevPage;
}
public int getNextPage() {
return nextPage;
}
public void setNextPage(int nextPage) { Page = nextPage;
}
public int getStartPage() {
return startPage;
}
public void setStartPage(int startPage) { this.startPage = startPage;
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论