pagebounds mysql配置_分页插件PageHelper配置步骤(mybatis)

原理:

mybatis执行sql步骤:

通过sqlsessionFactory

579c361e3336dcc20a85d9b8cf4dcea0.png sqlsession

cedf8f336f3a0270e4a586e191c41b51.png Exector  (执行器对象)

6223c5fef4ec89dcf6c2418de9ae9145.pngmappedstatement(sql语句封装)

在执行mappedstatement前在sql语句上加上limit即可实现分页

步骤:

一、引入pageHelper的jar包

二、在mybatis的xml文件中配置分页插件

这里的com.github.pagehelper.PageHelper使用完整的类路径。

其他五个参数说明:

增加dialect属性,使用时必须指定该属性,可选值为oracle,mysql,mariadb,sqlite,hsqldb,postgresql,没有默认值,必须指定该属性。

增加offsetAsPageNum属性,默认值为false,使用默认值时不需要增加该配置,需要设为true时,需要配置该参数。当该参数设置为true时,使用RowBounds分页时,会将offset参数当成pageNum使用,可以用页码和页面大小两个参数进行分页。

增加rowBoundsWithCount属性,默认值为false,使用默认值时不需要增加该配置,需要设为true时,需要配置该参数。当该参数设置为true时,使用RowBounds分页会进行count查询。

增加pageSizeZero属性,默认值为false,使用默认值时不需要增加该配置,需要设为true时,需要配置该参数。当该参数设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果(相当于没有执行分页查询,但是返回结果仍然是Page类型)。

增加reasonable属性,默认值为false,使用默认值时不需要增加该配置,需要设为true时,需要配置该参数。具体作用请看上面配置文件中的注释内容。

也可以在spring的xml文件中配置

classpath:mapper/*.xml

dialect=hsqldb

reasonable=true

三、配置完成后再调用类中配置分页属性:

步骤: 只需将查询的条件放入PageInfo中,设置分页属性即可

//查询所需数据条件

List list = ibItemMapper.selectByExample(newTbItemExample());//设置分页信息(第几页,每页数量)

PageHelper.startPage(pageNum, pageSize);//取记录总条数

PageInfo pageInfo = new PageInfo<>(list);long sum = pageInfo.getTotal();

原理: 执行自定义( 例如 :ibItemMapper.selectByExample(new TbItemExample())) 查询语句时,

会在mappedstatement执行前将分页的sql语句追加到查询语句后。

page的一些属性:

page.getPageNum();

page.getPageSize();

page.getStartRow();

page.getEndRow();

page.getTotal();

page.getPages();

page.getFirstPage();

page.getLastPage();

page.isFirstPage();

page.isLastPage();

page.isHasPreviousPage();

page.isHasNextPage();

注意事项:

PageHelper.startPage方法后的一个个查询方法才会被分页。

不支持带有for update的语句分页。

不支持关联结果查询。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值