pageHelper不同版本的配置是有区别的, 源码中类和依赖在不同版本中有较大变化.
一 需要下载的资源
1. 以下我使用的spring/springmvc版本3.2.XX, mybaits版本是3.1.X
2. pageHelper版本是5.1.4 下载可以上maven仓库下载:http://mvnrepository.com/artifact/com.github.pagehelper/pagehelper
也可以自行在maven仓库搜索com.github.pageHelper, 查找需要的版本
pageHelper的源码git地址: https://github.com/pagehelper/Mybatis-PageHelper
3. pageHelper由于使用了sql解析工具,还需要下载jsqlparser.jar
4.1.0及以后版本需要0.9.4版本: http://repo1.maven.org/maven2/com/github/jsqlparser/jsqlparser/0.9.4/
4.1.0以前版本需要0.9.1版本: http://repo1.maven.org/maven2/com/github/jsqlparser/jsqlparser/0.9.1/
这里下载的是0.9.4版本, 版本错误也会出现报错
二 applicationContext.xml配置
helperDialect=mysql
reasonable=true
supportMethodsArguments=true
params=count=countSql
autoRuntimeDialect=true
参数含义见github上的文档: https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md
三 ServiceImpl中使用
public class MemberServiceImpl implements MemberService {
@Autowired
MemberMapper memberMapper;
public List
如果同时需要返回当前页信息(页码, 条数等), 需要使用PageInfo类, 该类在不同pageHelper中有所差别, 这里适用5.1.4
public class MemberServiceImpl implements MemberService {
@Autowired
MemberMapper memberMapper;
public PageInfo list() { //注意这边返回的类型变为了PageInfo
// TODO Auto-generated method stub
PageHelper.startPage(0,10);
List> list = memberMapper.list();
PageInfo pageInfo = new PageInfo(list); //将sql查询结果list传递过去
return pageInfo;
}
}
page信息在pageInfo中:
PageInfo类中变量详见github文档:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md
四 Mapper的class和xml
Mapper中的内容按原先的写, 注意sql语句末尾不要带分号, pageHelp会自动使用limit分段查询, 并控制页码和查询总数
以上是粗浅的配置和使用, 之后会继续深入理解