第一次使用Mybatis的pageHelper分页插件,然而开始并没有成功,经过多次的修改测试,最后终于实现了,哈哈…将自己的经验分享一下。
(1)pom.xml文件配置
<!--引入pageHelper分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.0.0</version> </dependency>(2)控制器代码
/** * 查询所有,并分页显示 * @return */ @RequestMapping(value="/xxx", method=RequestMethod.GET) public @ResponseBody Map<String,Object> xxxList(@RequestParam(value="pn",defaultValue="1") Integer pn){ //设置默认查询第一页,pn表示页码 //查询之前调用startPage,传入页码和每页显式数量 PageHelper.startPage(pn, 5, true); //调用业务层方法查询数据 List<Area> list = areaBiz.findAllArea(); //使用pageInfo封装查询后的结果,5是连续显示的页数 PageInfo<Xxx> pageInfo=new PageInfo<Xxx>(list, 5); Map<String,Object> map = new HashMap<String,Object>(); map.put("pageInfp",pageInfo); return map; }(3)运行结果
前端页面总是显示所有数据,并没有实现分页,pageInfo中的pagesize的值等于total,并不是我设置的5。 带着问题各种百度,原来是我没有在Mybatis的配置文件中配置PageHelper插件.
(4)PageHelper配置
在spring.xml文件中配置PagerHelper
<!-- 配置SqlSessionFactoryBean --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 配置数据源 --> <property name="dataSource" ref="dataSource"/> <!-- mybatis主配置文件路径 --> <property name="configLocation" value="classpath:mybatis/mybatisConfig.xml"/> <!-- 配置分页插件 --> <property name="plugins"> <array> <bean class="com.github.pagehelper.PageHelper"> <property name="properties"> <!-- mysql不能有空格 --> <value> dialect=mysql</value> </property> </bean> </array> </property> </bean>配置完成之后运行还是没有成功,直接报了一大片错误,主要报错信息如下:
java.lang.IllegalStateException: Cannot convert value of type 'com.github.pagehelper.PageHelper' to required type 'org.apache.ibatis.plugin.Interceptor' for property 'plugins[0]': no matching editors or conversion strategy found带着错误信息继续找答案,最终找到一篇对我有用的文章(https://blog.csdn.net/hlx20080808/article/details/80973374),原来PageHelper 5.0版本之前的配置与5.0之后的配置有一些变化,具体配置如下:
<!-- 配置SqlSessionFactoryBean --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> ...... <!-- 配置分页插件 --> <property name="plugins"> <array> <bean class="com.github.pagehelper.PageInterceptor"> <property name="properties"> <!-- mysql不能有空格 --> <value> helperDialect=mysql</value> </property> </bean> </array> </property> </bean>最终运行成功,实现分页!!! 分享结束,希望对你有用.