Mybatis分页功能 pagehelper插件

  1. 创建数据数据
use ssm;
create table student
(id    int auto_incrementprimary key,name  varchar(255)   not null,email varchar(255)   not null,age   int default 11 null
);INSERT INTO ssm.student (id, name, email, age) VALUES (1, '张三', 'zhangsan@qq.com', 20);
INSERT INTO ssm.student (id, name, email, age) VALUES (2, '李四', 'lisi@qq.com', 24);
INSERT INTO ssm.student (id, name, email, age) VALUES (3, '王五', 'wangwu@qq.com', 30);
INSERT INTO ssm.student (id, name, email, age) VALUES (6, '小白兔', 'baitu@139.com', 20);
  1. 创建Maven项目
<dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.12</version><scope>compile</scope></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.4</version></dependency><!-- 分页插件--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.1.11</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.15</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13</version><scope>test</scope></dependency>
</dependencies>
<build><resources><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes></resource><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>true</filtering></resource></resources></build>
  1. 创建实体类
package com.example.entity;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@AllArgsConstructor
@NoArgsConstructor
@Data
public class Student {private Integer id;private String name;private String email;private Integer age;
}
  1. 创建mapper接口和接口映射文件StudentMapper.xml
package com.example.mapper;import com.example.entity.Student;import java.util.List;public interface StudentMapper {List<Student> selectAll();}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.StudentMapper"><select id="selectAll" resultType="com.example.entity.Student">select * from student</select>
</mapper>
  1. 创建mybatis 配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><settings><!--开启日志功能--><setting name="logImpl" value="STDOUT_LOGGING"/></settings><!--定义别名--><typeAliases><typeAlias type="com.example.entity.Student" alias="stu"></typeAlias><!--使用package 类名即为别名,不区分大小写--><package name="com.example.entity"/></typeAliases><!--配置分页插件过滤器--><plugins><plugin interceptor="com.github.pagehelper.PageInterceptor" ></plugin></plugins><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.cj.jdbc.Driver"/><property name="url"value="jdbc:mysql://localhost:3306/ssm?useSSL=true&amp;useUnicode=true&amp;characterEncoding=utf8&amp;serverTimezone = UTC"/><property name="username" value="root"/><property name="password" value="666666"/></dataSource></environment></environments><mappers><mapper resource="com/example/mapper/StudentMapper.xml"/></mappers>
</configuration>
  1. 编写工具类
package com.example.utils;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;
import java.io.InputStream;public class MybatisUtils {public static SqlSessionFactory sqlSessionFactory;static {String config = "mybatis-config.xml";try {InputStream in = Resources.getResourceAsStream(config);sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);} catch (IOException e) {e.printStackTrace();}}public static SqlSession getSqlSession() {SqlSession sqlSession = null;if (sqlSessionFactory != null){sqlSession =  sqlSessionFactory.openSession();}return sqlSession;}public static SqlSession getSqlSession(Boolean b) {SqlSession sqlSession = null;if (sqlSessionFactory != null){sqlSessionFactory.openSession(true);}return sqlSession;}}

编写测试文件

@Test
public void testSelectPageHelper(){SqlSession sqlSession = MybatisUtils.getSqlSession();StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);//修改starPage 方法内的参数观察结果。PageHelper.startPage(2,3);List<Student> students = mapper.selectAll();students.forEach(System.out::println);
}

Mybatis分页功能 pagehelper插件相关推荐

  1. java 分页_Spring Boot + MyBatis 如何借助PageHelper插件实现分页效果

    概述 上文中已经介绍了Spring和MyBatis的整合,在上文的基础上我们加入了PageHelper这个插件,来实现MyBatis列表查询的分页效果 PageHelper是啥 PageHelper是 ...

  2. 转:mybatis - 分页功能

    本文转自http://www.cnblogs.com/jcli/archive/2011/08/09/2132222.html mybatis高级应用系列一:分页功能 Mybatis3.0出来已有段时 ...

  3. SSM框架-实现Mybatis分页功能-foreknow_cms

    ##分页处理 分页 1.前台分页 2.数据库(后台)分页 3.存储过程 Orade (Rownum) Mysql(limit) sqlservier(Top N) 第一步 : 要在mybatis 核心 ...

  4. 都是MyBatis分页工具PageHelper惹的祸 —— 记一次加入GROUP BY分组查询成功,不分组则失败的奇怪现象Debug过程

    项目技术框架 请您打开世界上最好使的Java编译器IntelliJ IDEA,建一个SpringBoot项目,保证项目中包含以下依赖: 后端框架:SpringBoot + JUnit 数据库持久化:M ...

  5. Mybatis分页插件介绍

    背景 作为一名java后端开发工程师,免不了要使用数据库,也免不了会用到mybatis框架,使用mybatis框架又免不了使用选择一个用于处理mybatis分页功能的插件,本文主要介绍两个用于处理分页 ...

  6. 简单分页,无需插件 实现 上一页|下一页 分页功能

    分页功能 五花八门,插件的使用也很方便.最近做项目,分页功能是写好的了,利用bootstarp 简单实现的, 类似于这种 但由于数据越来越多,这种循环的方式很不好看.于是想到上一页| 下一页 分页 的 ...

  7. Spring Boot:实现MyBatis分页

    综合概述 想必大家都有过这样的体验,在使用Mybatis时,最头痛的就是写分页了,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真的不想花双倍 ...

  8. Spring Boot实现MyBatis分页查询

    综合概述 想必大家都有过这样的体验,在使用Mybatis时,最头痛的就是写分页了,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真的不想花双倍 ...

  9. mybatis分页练手

    最近碰到个需求,要做个透明的mybatis分页功能,描述如下: 目标:搜索列表的Controller action要和原先保持一样,并且返回的json需要有分页信息,如: @ResponseBody ...

最新文章

  1. 【OpenCV 4开发详解】可分离滤波
  2. 前端小白用面向对象思想实现元素拖拽
  3. 王者荣耀服务器维护5月22,5月22日王者荣耀更新内容一览
  4. CVPR14与图像视频检索相关的论文
  5. Java获取当前运行的CPU是几核的
  6. 几个WMS的问题处理
  7. 浅谈算法和数据结构: 七 二叉查找树
  8. 智能仪器原理及设计C语言,智能仪器仪表课程设计.doc
  9. 随想录(豆瓣网站的爬行)
  10. Smarty学习笔记(二)
  11. 体外诊断(IVD)行业系列四:快速崛起的独立医学实验室
  12. Windows Server AppFabric
  13. 优秀程序员必备的23条好习惯
  14. 【2018亚太数据中心峰会】黄超:从供到需-中国IDC产业发展的环境分析
  15. 在Linux系统下安装更换操作系统
  16. MAC苹果电脑关闭系统完整性保护SIP(System Integrity Protection)
  17. angularJs 页面筛选标签小功能
  18. Unity Shader-真实下雨路面
  19. 爬虫练习(二)—股票信息抓取
  20. httpd离线安装(含依赖包下载地址)

热门文章

  1. 【PAT (Basic Level) Practice】——【链表处理】1110 区块反转
  2. matlab怎么求一个三元一次方程组的解,关于一个三元一次方程的问题(matlab和excel)...
  3. HC小区管理系统宝塔方式安装
  4. DiskGenius稳定不闪退版
  5. 招银网络科技前端开发电话面试
  6. 奶爸生活-小弟弟小妹妹
  7. 精选PSD素材下载周刊【Goodfav PSD 20130720】
  8. 锁相环相位噪声模型及其计算
  9. java/php/net/python中医体质的社区居民健康管理设计
  10. 【激光SLAM】 01 cartographer环境建立以及建图测试(详细级)