Mybatis分页插件PageHelper的实现
Mybatis分页插件PageHelper的实现
前言
分页这个概念在做web网站的时候很多都会碰到 说它简单吧 其实也简单 小型的网站,完全可以自己写一个,首先查出数据库总条数,然后按照分页大小分为多少页,通过mysql语句里面的limit x,y 完全可以实现 不过有插件就用插件吧 毕竟人家写好的直接拿过来用就好啦 没必要造重复的轮子!
1.依赖Jar包导入或者是添加依赖(Maven项目)
<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
<version>0.9.5</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
或者导入Jar包后如图所示 pagehelper版本5.12
2.全局配置文件里面加入插件配置信息
<!-- 配置分页插件 -->
<plugins>
<!--自4.0.0版本以后实现这个接口了 com.github.pagehelper.PageInterceptor -->
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->
<!-- 自4.0.0以后的版本已经可以自动识别数据库了,所以不需要我们再去指定数据库 -->
<!--<property name="dialect" value="Mysql"/>-->
</plugin>
</plugins>
3.配置文件结点注意顺序(顺序错误可能会引起错误)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration> <!-- 引入外部配置文件 -->
<properties resource="mysql.properties"></properties> <!-- 配置分页插件 -->
<plugins>
<!--自4.0.0版本以后实现这个接口了 com.github.pagehelper.PageInterceptor -->
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->
<!-- 自4.0.0以后的版本已经可以自动识别数据库了,所以不需要我们再去指定数据库 -->
<!--<property name="dialect" value="Mysql"/>-->
</plugin>
</plugins> <!-- 配置mybatis运行环境 -->
<environments default="cybatis">
<environment id="cybatis">
<!-- type="JDBC" 代表使用JDBC的提交和回滚来管理事务 -->
<transactionManager type="JDBC" />
<!-- mybatis提供了3种数据源类型,分别是:POOLED,UNPOOLED,JNDI -->
<!-- POOLED 表示支持JDBC数据源连接池 -->
<!-- UNPOOLED 表示不支持数据源连接池 -->
<!-- JNDI 表示支持外部数据源连接池 -->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments> <mappers>
<!-- 1.自动扫描 -->
<package name="cn.mapper" />
<!-- 2.一个个配置 -->
<!--<mapper resource="com/cy/mybatis/mapper/UserMapper.xml"/> -->
</mappers>
</configuration>
4.增加Mapper分页查询接口
package cn.mapper; import java.util.List; import cn.beans.UserBean; public interface UserMapper { List<UserBean> selectAllUser() throws Exception; }
5.配置UserMapper.xml文件
<select id="selectAllUser" resultMap="userMap">
select * from user
</select>
6.书写测试类进行测试
public static void select1() { SqlSession session = DBUtil.getSession();
UserMapper user = session.getMapper(UserMapper.class); try {
//PageHelper.startPage(pageNum, pageSize) 页码,分页大小
PageHelper.startPage(1, 3);
List<UserBean> list = user.selectAllUser();
for(UserBean bean :list){
System.out.println(bean.getName());
}
session.commit();
} catch (Exception e) {
e.printStackTrace();
session.rollback();
} }
7.测试结果
8.查看数据库所有数据进行比对
9.结语以及易错点提示
1.错误易出现于mybatis.conf.xml全局配置文件中 要注意插件配置的位置,位置不对也会报错!
2.版本问题 4.00版本后pagehelper 接口的位置发生了变化,有些小伙伴在其他网站上看到的接口已经过时了 易出现错误 在一个就是不需要指定数据库了 4.00版本后会自动扫描!
3.每天记录一点,进步一点!
参考:https://blog.csdn.net/maxiao1204/article/details/79937012 https://www.cnblogs.com/shanheyongmu/p/5864047.html
欢迎指正评论,欢迎推荐关注!
转载请注明出处!
Mybatis分页插件PageHelper的实现的更多相关文章
- Mybatis分页插件PageHelper的配置和使用方法
Mybatis分页插件PageHelper的配置和使用方法 前言 在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页. 前端分 ...
- Mybatis分页插件PageHelper使用
一. Mybatis分页插件PageHelper使用 1.不使用插件如何分页: 使用mybatis实现: 1)接口: List<Student> selectStudent(Map< ...
- Java SSM框架之MyBatis3(三)Mybatis分页插件PageHelper
引言 对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真不想花双倍的时间写count和select ...
- Mybatis学习---Mybatis分页插件 - PageHelper
1. Mybatis分页插件 - PageHelper说明 如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件. 该插件目前支持Oracle,Mysql,MariaDB,S ...
- 基于Mybatis分页插件PageHelper
基于Mybatis分页插件PageHelper 1.分页插件使用 1.POM依赖 PageHelper的依赖如下.需要新的版本可以去maven上自行选择 <!-- PageHelper 插件分页 ...
- Mybatis分页插件-PageHelper的使用
转载:http://blog.csdn.net/u012728960/article/details/50791343 Mybatis分页插件-PageHelper的使用 怎样配置mybatis这里就 ...
- (转)淘淘商城系列——MyBatis分页插件(PageHelper)的使用以及商品列表展示
http://blog.csdn.net/yerenyuan_pku/article/details/72774381 上文我们实现了展示后台页面的功能,而本文我们实现的主要功能是展示商品列表,大家要 ...
- springmvc mybatis 分页插件 pagehelper
springmvc mybatis 分页插件 pagehelper 下载地址:pagehelper 4.2.1 , jsqlparser 0.9.5 https://github.com/pagehe ...
- MyBatis 分页插件PageHelper 后台报错
今天遇到一个问题,使用MyBatis 分页插件PageHelper 进行排序分页后,能正常返回正确的结果,但后台却一直在报错 net.sf.jsqlparser.parser.ParseExcepti ...
随机推荐
- linux下subversion的安装
第一章 安装 这里以RHEL5下安装subversion-1.6.6,为例 1. 下载源码包 在http://archive.apache.org/dist/subversion/网站下载 subve ...
- 二. Jmeter--关联
1. 首先建立一个线程组(Thread Group),为什么所有的请求都要加入线程组这个组件呢?不加不行吗?答案当然是不行的.因为jmeter的所有任务都必须由线程处理,所有任务都必须在线程组下面创建 ...
- layui的模块化和非模块化使用
非模块化和模块化的区别是 非模块化不用每次都调用layui.use([],fun...)引入对应模块,引入的JS是/layui/layui.all.js 模块化必须每次都调用layui.use([], ...
- ntp 控制报文
//make the procedure into block//2014.7.23 OK//#include "CSocket.h" #define NTP_SERVER_IP ...
- WP主题模板制作修改教程
WP主题模板制作修改教程 实际上,当我们打开某个主题的文件夹时,看到的并不止这两个文件,而是更多.但一般来说,在一个完整的 WP 主题文件夹中都应该包含下列文件(也称为模板文件):页面 模板文件 用途 ...
- 字典dict常用方法
字典是列表中常用的方法,我们经常处理字典,字典嵌套,很多复杂的操作都来自于基础,只是改变了样式而已,本质是不变的.下面来看看字典中常用的功能都有那些: 1.clear(self) def cl ...
- webstorm自动压缩js、css、html【工具篇】
*注意:自动压缩的文件只能在同级目录下,不能指定文件夹,强制了文件自动保存,设置的手动保存将失效. 插件下载地址:点击这里下载 密码:e6bk 使用方法: 1.css&js 分别添加这两个,c ...
- 【LOJ】#2351. 「JOI 2017/2018 决赛」毒蛇越狱
题解 没啥特别好的算法,是个讨论题,由于0 1 ?三类数位中最少的不会超过6 如果1不超过6,那么记录\(f1(S)\)为 \(\sum_{T \subset S} val(T)\)这个可以通过类似F ...
- .Net使用Redis详解之ServiceStack.Redis
序言 本篇从.Net如何接入Reis开始,直至.Net对Redis的各种操作,为了方便学习与做为文档的查看,我做一遍注释展现,其中会对list的阻塞功能和事务的运用做二个案例,进行记录学习. Redi ...
- 【C#】Unicode的流言终结者和编码大揭秘
如果你是一个生活在2003年的程序员,却不了解字符.字符集.编码和Unicode这些基础知识.那你可要小心了,要是被我抓到你,我会让你在潜水艇里剥六个月洋葱来惩罚你. 这个邪恶的恐吓是Joel Spo ...