分页插件的使用

来源:互联网 发布:固定收益 知乎 编辑:程序博客网 时间:2024/06/04 18:23

以Meavn项目为例

1.通用mapper

<!-- 通用Mapper --><dependency>   <groupId>com.github.abel533</groupId>   <artifactId>mapper</artifactId>   <version>2.3.4</version></dependency>
<!-- 分页插件 --><dependency>   <groupId>com.github.pagehelper</groupId>   <artifactId>pagehelper</artifactId>   <version>3.7.5</version></dependency>

2.mybtis-config.xml中

<!-- 分页查询和通用mapper --><plugins>   <!-- 分页插件 -->   <!-- com.github.pagehelper为PageHelper类所在包名 -->   <plugin interceptor="com.github.pagehelper.PageHelper">      <!-- 设置方言 -->      <property name="dialect" value="mysql" />      <!-- 该参数默认为false -->      <!-- 设置为true时,使用RowBounds分页会进行count查询 (会自动查询总数) -->      <property name="rowBoundsWithCount" value="true" />   </plugin>   <!-- 通用Mapper -->   <plugin interceptor="com.github.abel533.mapperhelper.MapperInterceptor">      <!--主键自增回写方法,默认值MYSQL,详细说明请看文档 -->      <property name="IDENTITY" value="HSQLDB" />      <!--通用Mapper接口,多个通用接口用逗号隔开 -->      <property name="mappers" value="com.github.abel533.mapper.Mapper" />   </plugin>   </plugins>
3.使用

public PageInfo<Product> findAllProductSold(int pageNum, Integer pageSize, String sold) {    Subject subject = SecurityUtils.getSubject();    User user= (User)subject.getPrincipal();    String bankCode= userDao.getBankCode(user.getLoginName());    PageHelper.startPage(pageNum, pageSize);    Example example = new Example(Product.class);    // 排序    example.setOrderByClause("lastUpdateDate desc");    Example.Criteria criteria = example.createCriteria();    //添加银行code  if(bankCode!=null && bankCode!=""){        criteria.andEqualTo("bankCode",bankCode);    }    //end    criteria.andEqualTo("sold",sold);    criteria.andEqualTo("deleted","F");    List<Product> products = productDao.selectByExample(example);    PageInfo<Product> pageInfo = new PageInfo<Product>(products);  /*  Subject subject = SecurityUtils.getSubject();    User user= (User)subject.getPrincipal();    String bankCode= userDao.getBankCode(user.getLoginName());    Page<Product> products = productDao.queryApproveSoldProduct(sold,bankCode);    PageInfo<Product> pageInfo = new PageInfo<Product>(products);*/    return pageInfo;}
4.通过pageInfo给到pagelist