SSM中PageHelper的使用步骤与com.github.pagehelper.PageHelper3系列与5系列的区别

SSM中PageHelper的使用步骤

一. 在pom.xml导入依赖

	<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.1.2</version></dependency>

二. 交给IOC管理 在SqlSessionFactory传入插入对象

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 这里配其他配置 --><!-- 传入PageHelper的插件 --><property name="plugins"><array><!-- 插入插件的对象 --><bean class="com.github.pagehelper.PageInterceptor"><property name="properties"><props><prop key="helperDialect">oracle</prop><prop key="reasonable">true</prop></props></property></bean></array></property></bean>

在这里插入图片描述
注意:上边的com.github.pagehelper.PageInterceptor是5以上版本,下边的com.github.pagehelper.PageHelper是3系列版本

解释:

  1. helperDialect : 用的什么数据库
  2. reasonable : 可以true或者false
使用true 当页数是1向上翻页的时候,会一直保持1, 最后一页也是同理
使用false 当页数是1向上翻页的时候,会变成0,继续点会变成负数...

三.在执行sql的前面,使用pageHelper来完成分页

PageHelper.startPage(1,5)
这里是sql语句 findAll() 上面是分页操作

1是页码值,5是每页显示条数


扩展:

关于com.github.pagehelper.PageHelper3系列与5系列的区别

在ssm框架开发中,配置PageHelper3.6.0版本是

依赖

			<jtds.version>1.3.1</jtds.version> <jsqlparser.version>0.9.1</jsqlparser.version><pagehelper.version>3.6.0</pagehelper.version><!-- 分页插件 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>${pagehelper.version}</version></dependency><dependency><groupId>net.sourceforge.jtds</groupId><artifactId>jtds</artifactId><version>${jtds.version}</version><scope>test</scope></dependency><dependency><groupId>com.github.jsqlparser</groupId><artifactId>jsqlparser</artifactId><version>${jsqlparser.version}</version></dependency><!-- 分页插件结束 -->
		<!-- PageHelper-3.6.0 --><bean class="com.github.pagehelper.PageHelper"><property name="properties"><value>dialect=mysql<!-- 设置为true时,使用RowBounds分页会进行count查询,默认值为false -->rowBoundsWithCount=false<!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 -->pageSizeZero=true<!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->reasonable=true</value></property></bean>

配置PageHelper5.0.0以上版本是

依赖

<pagehelper.version>5.1.1</pagehelper.version>
		<!-- PageHelper-5.1.1 dialect=mysql --><bean class="com.github.pagehelper.PageInterceptor"><property name="properties"><value><!-- 分页插件会自动检测当前的数据库链接,自动选择合适的分页方式。你可以配置helperDialect属性来指定分页插件使用哪种方言。配置时,可以使用下面的缩写值:oracle,mysql,mariadb,sqlite,hsqldb,postgresql,db2,sqlserver,informix,h2,sqlserver2012,derby特别注意:使用 SqlServer2012 数据库时,需要手动指定为 sqlserver2012,否则会使用 SqlServer2005 的方式进行分页。 -->helperDialect=mysql<!-- 默认false禁用 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->reasonable=true<!-- 支持通过 Mapper 接口参数来传递分页参数,默认值false,分页插件会从查询方法的参数值中,自动根据上面 params配置的字段中取值,查找到合适的值时就会自动分页。使用方法可以参考测试代码中的 com.github.pagehelper.test.basic包下的 ArgumentsMapTestArgumentsObjTest-->supportMethodsArguments=true<!-- 为了支持startPage(Object params)方法,增加了该参数来配置参数映射,用于从对象中根据属性名取值, 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值, 默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero。 -->params=count=countSql<!-- 默认值为 false。设置为 true 时,允许在运行时根据多数据源自动识别对应方言的分页 (不支持自动选择sqlserver2012,只能使用sqlserver)。 -->autoRuntimeDialect=true</value></property></bean>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556902.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql修改数据库级别_设置数据库兼容级别的两种方法

兼容级别设置为 80 兼容级别设置为 90 影响的可能性对于 FROM 子句中的锁提示&#xff0c;WITH 关键字始终是可选的。但在一些例外情况中&#xff0c;仅当用 WITH 关键字指定表提示时&#xff0c;FROM 子句中才支持这些提示。有关详细信息&#xff0c;请参阅 FROM (Transact-SQ…

Github PageHelper 原理解析

任何服务对数据库的日常操作&#xff0c;都离不开增删改查。如果一次查询的纪录很多&#xff0c;那我们必须采用分页的方式。对于一个Springboot项目&#xff0c;访问和查询MySQL数据库&#xff0c;持久化框架可以使用MyBatis&#xff0c;分页工具可以使用github的 PageHelper。…

Springboot Mybatis使用PageHelper实现分页查询

以下介绍实战中数据库框架使用的是mybatis&#xff0c;对整合mybatis此处不做介绍。 使用pageHelper实现分页查询其实非常简单&#xff0c;共两步&#xff1a; 一、导入依赖&#xff1b; pom.xml添加依赖&#xff1a; <!--分页插件 pagehelper --> <dependency>…

mysql 与 xls 连接_数据库MySQL与xls文件的互导

最近的一个项目需要将xls表导入到MySQL数据库中和将MySQL数据表导出到xls表中&#xff0c;在网上搜了很多资料&#xff0c;经过多次尝试终于实现了功能&#xff0c;废话不多说&#xff0c;在这粘贴出代码&#xff0c;希望可以帮到需要的朋友。一、将.xls表导入到MySQL数据表中。…

Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例

如何用一条sql语句实现批量更新&#xff1f;mysql并没有提供直接的方法来实现批量更新&#xff0c;但是可以用点小技巧来实现。 代码如下: UPDATE mytable SET myfield CASE id WHEN 1 THEN valueWHEN 2 THEN valueWHEN 3 THEN value END WHERE id IN (1,2,3);这里使用了c…

MySQL可运行在不同的操作系统下_不同操作系统下的mysql数据库同步

当数据库的数据量读写频繁的时候&#xff0c;我们就要考虑把数据库的读写分开&#xff0c;以提高数据库的使用效率&#xff0c;(当然还有其他用处比如&#xff0c;备份数据)&#xff0c;这个时候我们就要用到mysql的一个功能&#xff0c;数据库同步。下面就具体讲一下实现方法。…

@RequestBody和@RequestParam区别

一&#xff1a;RequestBody和RequestParam区别 RequestParam 用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容。&#xff08;Http协议中&#xff0c;如果不指定Content-Type&#xff0c;则默认传递的参数就是application/x-www-form-urlencoded类型&am…

mysql内置加密函数_MySQL数据库内置加密函数总结

首先&#xff0c;我认识的加密函数有以下几个&#xff1a;password(plainText)&#xff1a;旧版(OLD_PASSWORD())加密后长度16位&#xff0c;新版41位select length(password("123456"))可以用来查看加密后的字符串的长度。这种加密方法依赖数据库&#xff0c;需要保…

Query String Parameters、Form Data、Request Payload的区别

Query String Parameters 当发起一次GET请求时&#xff0c;参数会以url string的形式进行传递。即?后的字符串则为其请求参数&#xff0c;并以&作为分隔符。 如下http请求报文头&#xff1a; GeneralRequest URL: http://login?unamedingdingRequest Method: GETQuery…

c mysql 添加数据类型_MYSQL的常用命令和增删改查语句和数据类型

连接命令&#xff1a;mysql -h[主机地址] -u[用户名] -p[用户密码]创建数据库&#xff1a;create database [库名]显示所有数据库: show databases;打开数据库:use [库名]当前选择的库状态:SELECT DATABASE();创建数据表:CREATE TABLE [表名]([字段名] [字段类型]([字段要求]) …

@requestbody和@requestparam作用

1、什么都不写 GET 可以自动封装为对象模型&#xff0c;没有的数值自动为0值 POST 请求体里面放了数据&#xff0c;但是还是使用了RequestParam里的数据 总结&#xff1a; 在不使用注解的情况下&#xff0c;相当于默认使用了RequestParam里的数据 &#xff08;这种理解是错…

@RequestBody的使用

提示&#xff1a;建议一定要看后面的RequestBody的核心逻辑源码以及六个重要结论本文前半部分的内容都是一些基 本知识常识&#xff0c;可选择性跳过。 声明&#xff1a;本文是基于SpringBoot&#xff0c;进行的演示说明。 基础知识介绍&#xff1a; ​ RequestBody主要用来接…

mysql 字段值为 a b c_数据的虚拟列-让数据库中的C字段等于a+b

直接用update aaaaa aa set aa.f (aa.aaa.b)就行了引出来的新知识--虚拟列虚拟列的好处是:如果cab那插入数据时&#xff1b;值只插入a1,b2;那么c会自动是3oracle temporary table and virtual column(2013-07-31 15:06:55)表是数据库中保存用户数据最基本的结构。下面我简要的…

@RequestBody 和 @RequestParam可以同时使用

RequestParam和RequestBody这两个注解是可以同时使用的。 网上有很多博客说RequestParam 和RequestBody不能同时使用&#xff0c;这是错误的。根据HTTP协议&#xff0c;并没有说post请求不能带URL参数&#xff0c;经验证往一个带有参数的URL发送post请求也是可以成功的。只不过…

mysql索引使增删变慢_mysql优化之索引篇

mysql&#xff0c;对it打工人&#xff0c;这个几乎是必备的技能之一。mysql可以解决我们平时工作中的大量的、有关增删查改的问题。所以想深入了解mysql&#xff0c;我觉得关键在于他的增删查改背后的算法&#xff0c;开搞。面对增删查改等问题&#xff0c;直接通过场景来看吧场…

POST、GET、@RequestBody和@RequestParam区别

RequestParam 注解RequestParam接收的参数是来自HTTP请求体或请求url的QueryString中。 RequestParam可以接受简单类型的属性&#xff0c;也可以接受对象类型。 RequestParam有三个配置参数&#xff1a; required 表示是否必须&#xff0c;默认为 true&#xff0c;必须。de…

python与linux关系_如何处理Linux / Python依赖关系?

由于缺乏对我想使用的一些库的支持,我将一些Python开发从Windows转移到Linux开发.我已经花了大部分时间搞乱了依赖关系.问题每当我拿起Linux,我通常会遇到一些依赖问题,通常是开发库,无论是通过apt-get,easy_install或pip安装.我可以浪费时间,应该是简单的任务,花更长的时间让图…

Springmvc接收json数据的4种方式

1、以RequestParam接收 前端传来的是json数据不多时&#xff1a;[id:id],可以直接用RequestParam来获取值 Autowired private AccomodationService accomodationService;RequestMapping(value "/update") ResponseBody public String updateAttr(RequestParam (&q…

centos安装mysql卡住_CentOS 6.4安装MySQL的过程中出现的bug

在CentOS 6.4下安装MySQL&#xff0c;下载一个源码包&#xff0c;感觉很简单&#xff0c;tar&#xff0c;./configure&#xff0c;make&#xff0c;make install 经典四步&#xff0c;弄这个也不是第一次了&#xff0c;但今天就是老出错&#xff0c;首先是./configure中&#x…

SpringMVC接受List的几种方式

说到SpringMVC接受List参数&#xff0c;可能有人会说这个是个坑&#xff01;下面我来跟大家说怎么补这个坑。下面我分几种情况来讲&#xff1a; 一、只接收一个List 1、form表单提交 controller代码&#xff1a; ResponseBody RequestMapping("test") public voi…