PageHelper 是国内非常优秀的一款开源的 mybatis 分页插件,它支持基本主流与常用的数据库,例如 mysql、 oracle、mariaDB、DB2、SQLite、Hsqldb 等。
网址:https://pagehelper.github.io/ 本项目在 github 的项目地址:https://github.com/pagehelper/Mybatis-PageHelper 本项目在 gitosc 的项目地址:http://git.oschina.net/free/Mybatis_PageHelper
1.在 pom.xml 中添加如下依赖:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
</dependency>
在 MyBatis 配置 xml 中配置拦截器插件 (dao层,配置在sqlSessionFactory里)
<!-- plugins 在配置文件中的位置必须符合要求,否则会报错,顺序如下:
properties?, settings?,
typeAliases?, typeHandlers?,
objectFactory?,objectWrapperFactory?,
plugins?,
environments?, databaseIdProvider?, mappers?
-->
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<!-- 这里的几个配置主要演示如何使用,如果不理解,一定要去掉下面的配置 -->
<property name="properties">
<value>
helperDialect=mysql
reasonable=true
</value>
</property>
</bean>
</array>
</property>
3.配置service
/**
* 查询所有部门,带分页(用的pageHelper)
* @return
*/
PageInfo findAll(int page, int size);
public PageInfo findAll(int page, int size) {
//1.设置分页信息,使用PageHelper的静态方法
PageHelper.startPage(page,size);
//2.调用deptDao的查询所有方法
List<Company> companies = companyDao.findAll();
//3.创建返回值并返回
return new PageInfo(companies);
}
4。配置controller的方法
@Autowired
private CompanyService companyService;
/**
* 查询所有
* @return
*/
@RequestMapping("/list")
public String list(@RequestParam(defaultValue = "1") int page,@RequestParam(defaultValue = "2") int size){
//1.调用service查询
// List<Company> companyList = companyService.findAll();
PageInfo pageInfo = companyService.findAll(page, size);
//2.存入请求域中
// request.setAttribute("list",companyList);
request.setAttribute("page",pageInfo);
//3.转发到列表页面
return "company/company-list";
}
前端页面
<div class="box-footer">
<jsp:include page="../common/page.jsp">
<jsp:param value="${ctx}/company/list.do" name="pageUrl"/>
</jsp:include>
</div>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。