分页

springboot使用pagehelper进行分页

自作多情 提交于 2020-01-19 19:16:08
上次的博客项目,使用到了分页,这里总结一下 1.项目环境 IDE:IDEA 语言:java 框架:springboot 模板引擎:thymeleaf 2.效果 3.pom.xml <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version> </dependency> 4.application.properties #pagehelper pagehelper . helperDialect = mysql pagehelper . reasonable = true pagehelper . supportMethodsArguments = true pagehelper . params . count = countSql 5.后端 //查博客 @RequestMapping ( "/QueryBlog" ) public String QueryBlog ( Model m , @RequestParam ( value = "start" , defaultValue = "1" ) Integer start , @RequestParam ( value =

vue+bootstrap4+mybatis分页

馋奶兔 提交于 2020-01-18 15:02:40
先看效果 Springboot+Mybatis+Pagehelper分页具体实现略。 Controller返回数据 @GetMapping("/findByPage") public AjaxResult findByPage(@RequestParam("pageIndex") Integer pageIndex, @RequestParam("pageSize") Integer pageSize) { PageInfo<Article> articlePageInfo = articleService.findByPage(pageIndex, pageSize, Sort.DESC.getSort()); return AjaxResult.me().setResultObj(new HashMap<String, Object>(3) {{ put("total", articlePageInfo.getTotal()); put("list", articlePageInfo.getList()); put("pages", articlePageInfo.getPages()); }}); } js vue articles里有三个字段: total(数据不分页总条数,暂时无用,因为没有做具体页数的按钮), list(当前页数据), pages(分页总页数)

JDBC分页

旧街凉风 提交于 2020-01-18 06:18:39
不知道大家做项目做到最后有什么感觉没有,其实大家做来做去就是做一个列表加上分页和多条件的查询( http://xdwangiflytek.iteye.com/blog/1358261 ),只是不同的项目业务流程不一样而已,所以今天我想说说这里的分页。 1、 大家需要了解的是为什么我们需要分页? 因为当数据量太大时,会影响查询和传输的性能,并且我们从用户角度来考虑的话,如果让用户一次性看到成千上万条记录那用户也会疯掉的。 2、 对我们来说有哪些可实现的分页技术? a、 存储过程分页,即在数据库中创建一个存储过程,传入SQL和页码获取当前页的记录,这个需要大家对存储过程有比较好的认识(我这块不行),当然这个从性能上来说是最好的,但是不能跨数据库平台。 b、 使用数据库专有SQL语句进行分页(Oracle的rownum、MSSQL的top、MySql的limit等),性能也很好,但是还是不能跨数据库(其实真实项目中没那么多项目要求都跨数据库)。 c、 JDBC分页,通过Statement的statement.setMaxRow(endIndex)和resultSet.absoulte(beginIndex)取得当前页范围内的记录。此种方式的性能依赖于厂商对JDBC规范的实现。这种方式的通用性是最好的,性能也不错,完全与数据库平台无关了。 d、

Pager_taglib标签实现简易分页

折月煮酒 提交于 2020-01-17 05:12:15
我们在开发的时候很多业务是信息的显示,而对于这类简易业务可能会面临大数据量问题,页面的数据承载量是有限的,而在这有限的空间,需要我们用无限的思维去发挥。 在.NET下接触过GradView控件支持分页,也有手写代码来实现分页功能(比较麻烦),下面介绍一族标签,类似JSTL标签,封装了一些逻辑处理在里边,很好的实现了分页功能。 1、拷贝pager-taglib.jar包 2、在JSP页面中使用taglib指令引入pager-taglib标签库 3、使用pager-taglib标签库进行分页处理 pg:pager【这个标签用来设置分页的总体参数】重要参数说明: url:分页的链接根地址,pager标签会在这个链接的基础上附加分页参数 items:总记录数,pager标签正是根据这个值来计算分页参数的 maxPageItems:每页显示的行数,默认为10 maxIndexPages:在循环输出页码的时候,最大输出多少个页码,默认是10 pg:first【第一页的标签】重要参数说明: export变量的意义: pageUrl - 分页链接URL地址(最重要的export参数) pageNumber - 页码 firstItem - 首页第一行的索引值 lastItem - 首页最后一行的索引值 pg:pre【上一页标签】重要参数说明: export变量的意义: pageUrl -

大剑无锋之不都说面试不问mybatis,为什么我被虐了。。。【mybatis面试题】

廉价感情. 提交于 2020-01-17 02:17:44
1、#{}和${}的区别是什么? 答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc.Driver。 #{}是sql的参数占位符,Mybatis会将sql中的#{}替换为?号,在sql执行前会使用PreparedStatement的参数设置方法,按序给sql的?号占位符设置参数值,比如ps.setInt(0, parameterValue),#{item.name}的取值方式为使用反射从参数对象中获取item对象的name属性值,相当于param.getItem().getName()。 2、Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签? 答:还有很多其他的标签,<resultMap>、<parameterMap>、<sql>、<include>、<selectKey>,加上动态sql的9个标签,trim|where|set|foreach|if|choose|when|otherwise|bind等,其中<sql>为sql片段标签,通过<include>标签引入sql片段,<selectKey>为不支持自增的主键生成策略标签。 3、最佳实践中,通常一个Xml映射文件,都会写一个Dao接口与之对应,请问

9.【nuxt起步】-scroll分页加载

会有一股神秘感。 提交于 2020-01-16 23:36:56
面是单页,下面实现一个列表页和分页加载的例子 1.新建 pages/list.vue <template>   <div>     分页加载列表页面   </div> </template> <script> export default { } </script> 2.我们从 footer 的首页改成更多,然后从 footer 的更多跳转到 list.vue ,修改 footer 如下 <nuxt-link :to="'/list'" id="go-home" style="width: 50%;">   <i class="iconfont icon-home"></i>   <span>更多</span> </nuxt-link> 3.新建 /component/scrollpage.vue ,网上找的一个开源的 scrollpage. 具体参看源码 4.新建 /component/less/scroll.less 5.新建 /component/img/down-logo.png,refresh-logo.gif Cnpm install less 运行报错了,看下 list.vue 的源码 <template> <div></div> <!-- <my-scroll :on-refresh="onRefresh" :on-infinite="onInfinite"

MyBatis分页插件

ⅰ亾dé卋堺 提交于 2020-01-16 18:57:02
---------------------siwuxie095 MyBatis 分页插件 1 、MyBatis 的分页插件 PageHelper ( 分页助手 ) 实现了通用的分页 查询,并支持任何复杂的单表、多表分页。目前,该插件支持 MySQL、 Oracle、SQL Server、DB2、PostgreSQL 等主流数据库的 物理分页 2 、分页插件 PageHelper 的 Github 链接: https://github.com/pagehelper/Mybatis-PageHelper 3 、 分页插件 需要搭配 sql 解析工具 使用,所以引入分页插件有两种方式 ( 1 ) 引入 jar 包 1 )PageHelper 的下载链接如下: https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/ 或 http://repo1.maven.org/maven2/com/github/pagehelper/pagehelper/ 2 )JSqlParser 的下载链接如下: http://repo1.maven.org/maven2/com/github/jsqlparser/jsqlparser/0.9.5/ ( 2 ) 使用 Maven 在

Springboot 使用PageHelper分页插件实现分页

喜欢而已 提交于 2020-01-15 16:54:14
一、pom文件中引入依赖 二、application.properties中配置以下内容(二选一方案) 第一种:pagehelper.helper-dialect=mysqlpagehelper.reasonable=truepagehelper.support-methods-arguments=truepagehelper.params=count=countSql第二种:在启动类上添加如下代码 //配置mybatis的分页插件pageHelper @Bean public PageHelper pageHelper(){ PageHelper pageHelper = new PageHelper(); Properties properties = new Properties(); properties.setProperty("offsetAsPageNum","true"); properties.setProperty("rowBoundsWithCount","true"); properties.setProperty("reasonable","true"); properties.setProperty("dialect","mysql"); //配置mysql数据库的方言 pageHelper.setProperties(properties);

oracle、mysql、sqlserver分页查询

北城以北 提交于 2020-01-15 07:16:24
分页查询这个内容基本上是个项目都会用的到的东西,面试也会问到的, 平常项目中老是百度用法,这些写博客来总结一下,省的老是百度。 现在主流的关系型数据的分页实现还是有点差别的,以oracle、mysql、server为例。 oracle分页 语法 SELECT * FROM ( SELECT ROWNUM rn,name,tel,owner_id AS ownerId,DEL_FLAG AS status FROM T_THIRD_PART where ROWNUM <= pageSize *pageNum ) temp where rn >= ((pageNum-1)*pageSize +1 ) 数据采用是oracle安装时勾选的事例表,有emp,dept、SALGRADE等数据表。 emp数据表的内容 oracle实现分页的方式是行号ROWNUM+FROM子查询,要实现分页需要知道两个参数: currentPage 表示当前页 linesize 表示显示的数据量 示例一 查询第一页数据,每页显示三条数据 currentPage=1 linesize =3:从数据表中取出1~3条数据 SELECT * FROM (SELECT ROWNUM rn,EMPNO,ENAME,JOB,SAL,HIREDATE,MGR,COMM,DEPTNO FROM EMP WHERE ROWNUM<

Mybatis知识点总结

旧时模样 提交于 2020-01-15 05:56:52
1.什么是MyBatis? 答:MyBatis是一个可以自定义SQL、存储过程和高级映射的持久层框架。 2.MyBatis的缓存 答:MyBatis的缓存分为一级缓存和二级缓存,一级缓存放在session里面,默认就有,二级缓存放在它的命名空间里,默认是不打开的,使用二级缓存属性类需要实现Serializable序列化接口(可用来保存对象的状态),可在它的映射文件中配置 3.Mybatis是如何进行分页的?分页插件的原理是什么? 1)Mybatis使用RowBounds对象进行分页,也可以直接编写sql实现分页,也可以使用Mybatis的分页插件。 2)分页插件的原理:实现Mybatis提供的接口,实现自定义插件,在插件的拦截方法内拦截待执行的sql,然后重写sql。 举例:select * from student,拦截sql后重写为:select t.* from (select * from student)t limit 0,10 推荐看起来比较清晰的PageHelper分页原理 3)PageHelper首先将前端传递的参数保存到page这个对象中,接着将page的副本存放入ThreadLoacl中,这样可以保证分页的时候,参数互不影响,接着利用了mybatis提供的拦截器,取得ThreadLocal的值,重新拼装分页SQL,完成分页。 4.Mybatis的插件运行原理