分页

Mybatis PageHelper 分页不起作用

别等时光非礼了梦想. 提交于 2020-02-06 06:52:11
修改中pageHelper引用 之前: <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.6</version> </dependency>    之后: <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version> </dependency>    来源: https://www.cnblogs.com/zqyw/p/11029116.html

PageHelper:Mybatis分页插件

余生颓废 提交于 2020-02-05 20:52:57
PageHelper是国内一款开源的mybatis分页插件,支持基本主流与常用的数据库,例如mysql、oracle、mariaDB、DB2、SQLite、Hsqldb等。 使用: 第一步:在pom.xml中添加依赖 < dependency > < groupId > com . github . pagehelper < / groupId > < artifactId > pagehelper < / artifactId > < version > 5.1 .2 < / version > < / dependency > 第二步: 在 applicationContext.xml中配置拦截器插件 < ! -- 配置SqlSessionFacory工厂,用来生产代理对象 -- > < bean id = "sqlSessionFactory" class = "org.mybatis.spring.SqlSessionFactoryBean" > < ! -- 数据库连接池 -- > < property name = "dataSource" ref = "dataSource" / > < ! -- 传入PageHelper的插件 -- > < property name = "plugins" > < array > < ! -- 传入插件的对象 -- > <

eleme 分页组件更新

不羁的心 提交于 2020-02-05 05:26:40
先点击分页,如跳到第二页,再点击查询,分页的当前页的样式还在第二页上,由于页面没有重新创建,所以分页组件没有刷新。加上.sync可以刷新组件解决这个问题。 来源: CSDN 作者: 小西↬ 链接: https://blog.csdn.net/weixin_43671128/article/details/104069456

MyBatis物理分页的代码实现

柔情痞子 提交于 2020-02-05 03:09:38
一.分页 MyBatis有两种分页方法: 内存分页 ,也就是假分页, 本质是查出所有的数据然后根据游标的方式,截取需要的记录 ,如果数据量大,执行效率低,可能造成内存溢出。 物理分页 , 就是数据库本身提供了分页方式 ,如MySql的limit,执行效率高,不同数据库实现不同。 MyBatis Generator使用: MyBatis Generator使用示例 Spring集成MyBatis: Spring集成MyBatis持久层框架 二.MyBatis执行流程 MyBatis执行sql流程如下图,实现数据库的物理分页,需要 通过拦截StatementHandler重写的sql语句 。 三.分页实现 1.实现MyBatis的Interceptor接口,创建PageInterceptor类 @Intercepts({@Signature(type=StatementHandler.class, method = "prepare", args={Connection.class, Integer.class})}) public class PageInterceptor implements Interceptor { private String sqlRegEx = ".*Page"; public Object intercept(Invocation invocation

Bootstrap <基础十九>分页

旧街凉风 提交于 2020-02-03 02:44:38
Bootstrap 支持的分页特性。分页(Pagination),是一种无序列表,Bootstrap 像处理其他界面元素一样处理分页。 分页(Pagination) 下表列出了 Bootstrap 提供的处理分页的 class。 Class 描述 示例代码 .pagination 添加该 class 来在页面上显示分页。 <ul class="pagination"> <li><a href="#">«</a></li> <li><a href="#">1</a></li> ....... </ul> .disabled, .active 您可以自定义链接,通过使用 .disabled 来定义不可点击的链接,通过使用 .active 来指示当前的页面。 <ul class="pagination"> <li class="disabled"><a href="#">«</a></li> <li class="active"><a href="#">1<span class="sr-only">(current)</span></a></li> ....... </ul> .pagination-lg, .pagination-sm 使用这些 class 来获取不同大小的项。 <ul class="pagination pagination-lg">...</ul> <ul

操作系统5——存储器管理

旧巷老猫 提交于 2020-02-03 02:27:01
存储器管理 目录 存储器管理 1、程序的装入与链接 (1)程序的装入 (2)程序的连接 2、连续分配存储管理方式 (1)单一连续分配 (2)固定分区分配 (3)动态分区分配 (4)可重定位分区分配 (5)对换 3、分页和分段方式及其概述 (1)为什么要用分页和分段方式? (2)分段与分页的去区别 4、基本分页存储管理方式 (1)页面与页表 (2)页表 (3)地址变换 (4)地址变换机构 (5)具有块表的地址变换机构 (6)两级页表 (7)反置页表 5、基本分段存储管理方式 (1)分段与分页的区别: (2)分段的基本原理 (3)段表 (4)段表访问数据的过程 6、基本段页式存储管理方式 本章知识点流程图: 层次越高,越靠近CPU,访问速度越快,价格越高。 内存掉电之后信息不保存,除非已经写入到外存中。 1、程序的装入与链接 (1)程序的装入 多道程序环境下,程序要运行必须为之创建进程,而创建进程的第一件事就是分配内存。 将一个装入模块装入内存(第三步开始)时,有三种装入方式: 重定位: 把在装入时对目标程序中指令和数据的地址修改过程称为重定位。 (2)程序的连接 2、连续分配存储管理方式 连续分配方式为一个用户程序分配一个连续的内存空间 连续分配有以下几种: (1)单一连续分配 即将内存分为 系统区和用户区 ,整个内存的用户空间由该程序独占。 优点:易于管理 缺点

操作系统--虚拟内存学习

穿精又带淫゛_ 提交于 2020-02-02 05:49:00
内存的发展流程: 一.嵌入式实时操作系统 表现 :在早期的单片机上,程序运行在物理内存中,也就是说,程序在运行时直接访问到物理地址,在程序运行开始,将全部程序加载到内存中,所有的数据地址和程序地址就此固定。 在运行多任务系统时,比较直接的办法也是直接为每个任务分配各自需要的内存空间,比如总内存为100M,task1需要40M,task2需要50M,task3需要20M,那么最简单的办法是给task1分配40M,给task2分配50M,而task3,不好意思,内存不够了,不允许运行 弊端 : 地址空间不隔离 所有程序都可以直接访问物理内存,那么task1就可以直接访问task2的地址,这就给了一些恶意程序机会来进行一些非法操作,即使是非恶意但是有bug的程序,也可能会导致其他任务无法运行,这对于需要安全稳定的的计算机环境的用户是不能容忍的。 内存使用效率极低 由于没有有效的内存管理机制,通常在一个程序执行时,将整个程序装载进内存中运行,如果我们要运行task3,内存已经不够了,其实系统完全可以将暂时没有运行的task2先装入磁盘中,将task3装载到内存,当需要运行task2时,再将task2换回,虽然牺牲了一些执行效率,但总归是可以支持更多程序运行。 程序地址空间不确定 需要了解的是程序在编译阶段生成的可执行文件中符号地址是连续且确定的,即使实现了内存数据与磁盘的交换

学成在线(第7天)

一曲冷凌霜 提交于 2020-02-01 10:22:42
我的课程 课程添加完成后可通过我的课程进入课程修改页面,此页面显示我的课程列表,如下图所示,可分页查询。 注意:由于课程图片服务器没有搭建,这里在测试时图片暂时无法显示。 上边的查询要实现分页、会存在多表关联查询,所以建议使用mybatis实现我的课程查询。 PageHelper PageHelper是mybatis的通用分页插件,通过mybatis的拦截器实现分页功能,拦截sql查询请求,添加分页语句, 最终实现分页查询功能。 我的课程具有分页功能,本项目使用Pagehelper实现Mybatis分页功能开发,由于本项目使用springboot开发,在 springboot上集成pagehelper( https://github.com/pagehelper/pagehelper-spring-boot ) PageHelper的使用方法及原理如下: 在调用dao的service方法中设置分页参数:PageHelper.startPage(page, size),分页参数会设置在ThreadLocal中 PageHelper 在mybatis执行sql前进行拦截,从ThreadLocal取出分页参数,修改当前执行的sql语句,添加分页 sql。 最后执行添加了分页sql的sql语句,实现分页查询。 PageHelper配置 1)添加依赖 <dependency>

(翻译)折叠分页:一条更快的分页之路

﹥>﹥吖頭↗ 提交于 2020-01-29 22:53:29
  页面上内容太多,用户就会目不暇接。为避免这种情况,很多网站使用数值分页功能,将一页内容分为多页。如果有很多页内容,使用数值分页比较合适,但如果只有少量分页,有更好的分页方法,能给用户更流畅和更直观的体验。   将折叠菜单与数值分页功能组合起来,构造折叠分页功能,让分页更快速、流畅。折叠分页使用折叠菜单中的AJAX功能在同一页面上加载新内容。因此,用户浏览下一页内容时,不用等待加载新页面。在用户同一页面中加载和显示新内容。   折叠分页功能效率高、吸引力强。用户使用折叠分页功能,给他们一种“翻转”页面的直观感觉。每次用户“翻转”页面,页码都在增加,很容易看到页面的进度。   大部分用户不想太深入点击分页内容。使用折叠分页,让分页功能更具吸引力,鼓励用户深入浏览内容。[1]   使用折叠分页最大的好处可能是节省了很多页面空间。一个页面展开,另一个页面就会合起来。这样用户不会应接不暇,也防止用户跳页,这对于多页表单特别有用[2]。   折叠分页功能使导航更加有效,减少视觉冲击。折叠分页功能可能会比数值分页需要更多的时间和精力来执行,但它给了用户更好的体验。 原文地址:https://uxmovement.com/navigation/accordion-pagination-a-faster-way-to-paginate/ [1]原文:Most users avoid

SQL优化-大数据量分页优化

﹥>﹥吖頭↗ 提交于 2020-01-29 16:34:55
  百万数据量SQL,在进行分页查询时会出现性能问题,例如我们使用PageHelper时,由于分页查询时,PageHelper会拦截查询的语句会进行两个步骤   1.添加 select count(*)from (原查询sql) ,用于统计查询的总数   2.拼接 limit startPage,number 用于分页      此时有两个问题     第一个问题是:       用于统计的 select count(*)from (原查询sql)在数据量大时速度慢     第二个问题时:       limit startPage,number 在大数据量时效率低      解决方案:     第一个问题:       在数据量过大时,不使用分页插件PageHelper,select count(*)from (原查询sql)固定返回一个固定值给到前端,例如千万级数据,固定返回1千万     第二个问题:       在数据量过大时,不使用分页插件PageHelper ,使用join或者子查询去优化       例如 id为主键,name为非唯一索引         优化前:         select id,name,brand from table where name=‘xxx’ limit 100000,10         优化后:         select aa