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 ...
随机推荐
- E.Text Editor (Gym 101466E + 二分 + kmp)
题目链接:http://codeforces.com/gym/101466/problem/E 题目: 题意: 给你s串和t串,一个数k,求t的最长前缀串在s串中出现次数不少于k. 思路: 一眼二分+ ...
- JSTL标签库笔记
1. 概述 JSTL(Jsp Standard Tag Library)即JSP标准标签库,只能运行在支持JSP1.2↑和Servlet2.3↑规范的容器上. 通常情况下我们在编写JSP页面的时候,在 ...
- java使用simpleDateFormat格式化日期 时间
时间日期标识符: yyyy:年 MM:月 dd:日 hh:1~12小时制(1-12) HH:24小时制(0-23) mm:分 ss:秒 S:毫秒 E:星期几 D:一年中的第几天 F:一月中的第几个星期 ...
- php上传文件大小限制的方法详解
打开php.ini,首先找到file_uploads = on ;是否允许通过HTTP上传文件的开关.默认为ON即是开upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就 ...
- 1-编程基础及Python环境部署
目录 1 编程基础 1.1 基本概念 1.2 语言分类 1.3 高级语言的发展 2 程序 3 python的语言介绍 4 Python的解释器 5 Python版本区别 6 Python安装 6.1 ...
- Machine Learning系列--EM算法理解与推导
EM算法,全称Expectation Maximization Algorithm,译作最大期望化算法或期望最大算法,是机器学习十大算法之一,吴军博士在<数学之美>书中称其为“上帝视角”算 ...
- selenium滚动到顶部与底部
#coding=utf-8 from selenium import webdriver #滚动到浏览器顶部 js_top = "var q=document.documentElement ...
- Nginx源码分析--epoll模块
Nginx采用epoll模块实现高并发的网络编程,现在对Nginx的epoll模块进行分析. 定义在src/event/modules/ngx_epoll_module.c中 1. epoll_cre ...
- python tornado 中使用 flash消息闪现
1.html 中引入文件 {% block head %} <link href="/static/common/sweetalert/sweetalert.css" rel ...
- python开发web服务器——搭建简易网站
参看:https://blog.csdn.net/baidu_35085676/article/details/69807145