基于ssm的pagehelper分页操作


基于ssm的pagehelper分页操作

1,导入pagehelper依赖

<dependency>
  <groupId>com.github.pagehelpergroupId>
  <artifactId>pagehelperartifactId>
  <version>5.1.2version>
  <scope>compilescope>
dependency>

2,配置application.xml

在ApplicationContext.xml配置pagehelper:

在创建完DataSource对象的bean后,创建sessionfactory对象的时候添加上pagehelper插件

    
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        
        <property name="dataSource" ref="dataSource"/>
        
        <property name="mapperLocations" value="classpath:mapper/*.xml"/>
        
        <property name="plugins">
            <array>
                
                <bean class="com.github.pagehelper.PageInterceptor">
                    <property name="properties">
                        <value>
                            
                            helperDialect=mysql
                        value>
                    property>
                bean>
            array>
        property>
    bean>

3,编写分页查询的接口

    /**
     * 分页查询
     * @param page
     * @param rows
     * @return
     */
    @RequestMapping("/listPage")
    @ResponseBody       //转换为json对象
    public Map listPage(Integer page,Integer rows){
        //设置分页的参数
        PageHelper.startPage(page,rows);
        //查询所有数据
        List list = customerService.findAll();
        //使用pageinfo封装我们查询类型的结果
        PageInfo pageInfo = new PageInfo<>(list);
        //从pageinfo对象取出查询
        //总记录数
        long total = pageInfo.getTotal();
        //当前页数据的列表
        List cuslist = pageInfo.getList();
        result.put("total",total);
        result.put("rows",cuslist);
        return result;
    }

步骤:

  1. 创建方法,传入参数(Integer page,Integer rows))page当前页码,rows:一页返回多少条数据;

  2. 设置分页的参数;

  3. 查询所有数据;

  4. 使用pageinfo封装我们查询类型的结果

  5. 从pageinfo对象取出查询

  6. 添加相应的参数,total:总记录数、cuslist:当前数据

  7. 最后返回结果

  8.