一个分页研究了好几天。。。
最终发现网上写的很多案例都是不太适合自己的,所以写下了这篇记录,也算是记下自己的一些经验吧。废话不多说上代码。
maven依赖:
com.github.pagehelper
pagehelper
4.0.0
至于SSM的框架整合什么的我就不贴出来了,会使用PageHelper进行分页, 我想你的SSM框架也应该是构建好了。
application.properties:
pagehelper.helperDialect=sqlserver
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
我这里是用的是sqlserver 你是什么数据库就自己改咯。那个什么树状的那个配置我是没有的,就是yml,说的就是这个,yml的同志不好意思啦。
继续:
Controller层:
@RequestMapping(value = "/productedit")
public String editProduct(Model model) {
//普通的实体类对象,不能再普通了,下面贴出代码
DwzPage dwzPage = new DwzPage();
//serivce查询代码
List colors = productService.getColors(1,20);
//相当于request.setAttribute("listColors",colors),这里存储的是使用PageHelper分页过后的数据
model.addAttribute("listColors", colors);
//PageInfo pageInfo=new PageInfo(数据源)
//ps:pageInfo存的是你分页的数据,不是你从数据库里面取得数据,博主在这里纠结了好久,希望小伙伴们少走弯路
PageInfo pageInfo = new PageInfo(colors);
//这句解释过了就不解释了
model.addAttribute("pageInfo", pageInfo);
return "finishProduct/finishproductedit";
}
下面有请我们这次的主角sevice层:
public List getColors(int pageNum,int pagesize) {
//参数为(当前显示页数,当前页数显示多少条数)
PageHelper.startPage(pageNum,pagesize);
//连接dao层的方法,dao的方法下面贴出
List colors=productDao.getColors();
return colors;
}
觉得麻烦也可以直接写在Controller里,这里博主就不这么写了。
dao层:
//加不加public 随你们便咯
List getColors();
Mybatis sql语句:
ps:语句后面记得order by 不然会报错
实体类Colors代码
public class Colors {
private String bh;
private String name;
private String name_pk;
private int isdelete;
private String maxbh;
private String PAGE_ROW_NUMBER;
public String getBh() {
return bh;
}
public void setBh(String bh) {
this.bh = bh;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getName_pk() {
return name_pk;
}
public void setName_pk(String name_pk) {
this.name_pk = name_pk;
}
public int getIsdelete() {
return isdelete;
}
public void setIsdelete(int isdelete) {
this.isdelete = isdelete;
}
public String getMaxbh() {
return maxbh;
}
public void setMaxbh(String maxbh) {
this.maxbh = maxbh;
}
public String getPAGE_ROW_NUMBER() {
return PAGE_ROW_NUMBER;
}
public void setPAGE_ROW_NUMBER(String PAGE_ROW_NUMBER) {
this.PAGE_ROW_NUMBER = PAGE_ROW_NUMBER;
}
@Override
public String toString() {
return "Colors{" +
"bh='" + bh + '\'' +
", name='" + name + '\'' +
", name_pk='" + name_pk + '\'' +
", isdelete=" + isdelete +
", maxbh='" + maxbh + '\'' +
", PAGE_ROW_NUMBER='" + PAGE_ROW_NUMBER + '\'' +
'}';
}
}
刚刚忘记了,博主引入了一个jar包,虽然不知道啥用,不知道有没有影响:jar包贴出来吧:
csdn下载:
https://download.csdn.net/download/qq_35272054/10560534
SqlParser - github地址:https://github.com/JSQLParser/JSqlParser
SqlParser最新版jar下载:http://search.maven.org/remotecontent?filepath=com/github/jsqlparser/jsqlparser/0.9.1/jsqlparser-0.9.1.jar
maven依赖为:
com.github.jsqlparser
jsqlparser