分页(英语:Paging),是一种操作系统里存储器管理的一种技术,可以使计算机的主存可以使用存储在辅助存储器中的数据。操作系统会将辅助存储器(通常是磁盘)中的数据分区成固定大小的区块,称为“页”(pages)。当不需要时,将分页由主存(通常是内存)移到辅助存储器;当需要时,再将数据取回,加载主存中。相对于分段,分页允许存储器存储于不连续的区块以维持文件系统的整齐。[1]分页是磁盘和内存间传输数据块的最小单位。

分页/虚拟内存能有助“大大地”降低整体及额外非必要的 I/O 次数,提高系统整体运作性能。因为这能有助提高 RAM 的读取命中率,也透过其内部的高效率算法来达到 I/O 数据流的预缓存工作,通过与之相关的等等手段也能很好地提高了 CPU 的使用效率,而拥有大物理内存的用户更可能考虑利用如Ramdisk、Supercache、SoftPerfect RAM Disk等模拟出硬盘分区来同时将虚拟内存/系统临时文件等设置其上以进一步加强系统性能,及达至保障硬盘的措施。分页是虚拟内存技术中的重要部分。
1 .分页原理

这里写图片描述

使用原理:

pageHelper会使用ThreadLocal获取到同一线程中的变量信息,各个线程之间的Threadlocal不会相互干扰,也就是Thread1中的ThreadLocal1之后获取到Tread1中的变量的信息,不会获取到Thread2中的信息

所以在多线程环境下,各个Threadlocal之间相互隔离,可以实现,不同thread使用不同的数据源或不同的Thread中执行不同的SQL语句

所以,PageHelper利用这一点通过拦截器获取到同一线程中的预编译好的SQL语句之后将SQL语句包装成具有分页功能的SQL语句,并将其再次赋值给下一步操作,所以实际执行的SQL语句就是有了分页功能的SQL语句

 
2 .项目中引入分页插件

插件叫做PageHelper,如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。
该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页。

第一步:引入maven依赖

    //放置在dao层pom.xml配置中
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper</artifactId>
        <version>4.0.0</version>
    </dependency>

 第二步:在spring-jdbc.xml文件中进行配置(数据源配置xml文件),引入插件

    <bean />
        from demo
      </select>
     

---------------------
作者:狂丰
来源:CSDN
原文:https://blog.csdn.net/fz13768884254/article/details/82735863
版权声明:本文为博主原创文章,转载请附上博文链接!

相关文章:

  • 2021-10-21
  • 2022-01-15
  • 2021-04-09
  • 2021-08-10
  • 2022-02-02
  • 2021-06-22
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-07-29
  • 2021-08-09
  • 2021-10-03
  • 2021-07-28
  • 2021-07-17
  • 2021-11-24
  • 2021-08-02
相关资源
相似解决方案