分页查询的原理及PageHelper插件的使用

1. 日志管理业务层开发

1. 分页

分页原理

  1. 分页在使用时的分类

    1. 物理分页:
      1. 在操作数据库中的表时,sql语句中使用了limit ?,?,此时sql语句返回的结果是分页结果
    2. 逻辑分页:
      1. 依赖程序的代码,其原理为:通过sql语句将数据库表中的所有数据都查询出,之后将数据保存在内存中,最终要显示的数据若涉及到分页,到内存中去查找数据返回.通过以上原理得出,逻辑分页在对数据库表的操作上没有limit
  2. 物理分页和逻辑分页的区别?

    1. 数据库压力:
      1. 物理分页对数据库查询操作次数多,数据库压力会更大点,相对而言,逻辑分页对数据库的压力会小
    2. 对服务器的压力:
      1. 物理分页对服务器的压力相对而言较小,逻辑分页因为要在内存存储大量数据,对服务器压力会大
    3. 什么情况应该选择哪种分页?
      1. 物理分页:数据量大,数据稳定性差时使用,来实现实时更新数据
      2. 逻辑分页:数据量小,数据稳定性高时使用,此时可以使用逻辑分页
  3. 实际工作中分页的实现:

    1. 通常会使用插件:目前市面上使用率较高的是mybatis的插件PageHelper

    2. PageHelper的使用:

      1. 需要导入该插件的依赖

      2. 在代码中使用PageHelper的api方法实现分页
        在这里插入图片描述

2. 日志列表查询业务层代码

  1. 业务层代码逻辑和以上图片中的业务层逻辑相同

  2. 准备工作:

    1. 定义业务异常的包以及父类以及会出现的子类业务异常

      1. 父类:ServiceException – 定义在base包下
      2. 子类业务异常:在service包下创建ex包,在该包下定义PageIllegalException异常类
    2. 注意点:

      1. 重写父类方法的快捷键:Ctrl+O

      2. 类中如何生成序列版本号:

        1. File->settings->Inspections->ser…->找到如下选项,勾选,即让idea检查序列版本号

在这里插入图片描述

  1. 业务层开发步骤:

    1. 创建LogService接口以及实现类LogServiceImpl

    2. 添加PageHelper的依赖

      1. 在idea中采用idea的联想功能注入依赖

      2. 更新maven

        <dependency>
                    <groupId>com
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值