准备工作:
web层目录下的整合文件:mybatis-config.xml 中的配置:
<configuration>
<!-- 配置分页插件 -->
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
<!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->
<property name="dialect" value="mysql"/>
</plugin>
</plugins>
</configuration>
封装个简单的工具类:
public class EUDataGridResult {
private long total;
private List<?> rows;
public long getTotal() {
return total;
}
public void setTotal(long total) {
this.total = total;
}
public List<?> getRows() {
return rows;
}
public void setRows(List<?> rows) {
this.rows = rows;
}
}
mapper层的 pom.xml 中配置架包:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.6</version>
</dependency>
好了一切准备就绪,业务层代码(有点啰嗦,别介意哈):
//EUDataGridResult 封装的工具类。
@Override
public EUDataGridResult selectBuildingByViews(int page, int rews) {
//不知道为啥第一句必须是分页,不能先把查询接口放在第一句。
PageHelper.startPage(page, rews);//page 当前页数,rews 页面显示数据的大小
List<Building> list = mapper.selectBuildingByViews();//查询所有数据
PageInfo info=new PageInfo<>(list);//把查询出的数据存入分页插件
long total=info.getTotal();//获取总条数,也就是查询出的总数据有几条
EUDataGridResult result=new EUDataGridResult();
result.setTotal(total);//显示总页数
result.setRows(list);//显示根据分页查询出的数据
return result;//返回总条数和分页的数据。
}
Controller控制层:
@RequestMapping(value="")//都知道怎么写,自己填哈。
public @ResponseBody EUDataGridResult selectBuildingByViews(int page, int rews){
return buildingService.selectBuildingByViews(page,rews);
}
记住:起始页是从 1 开始,从0开始,会报错。
以上便是全部代码了,有点 low ,大佬们勿喷哈~