Mybatis 通用分页插件PageHelper
2021/10/30 23:18:26
本文主要是介绍Mybatis 通用分页插件PageHelper,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Mybatis 通用分页插件
PageHelper
基于 PageHelper 分页
实现步骤:
1.maven坐标
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.10</version> </dependency>
2.加入 plugin 配置
在<environments>之前加入 <plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor" /> </plugins>
3.PageHelper 对象
查询语句之前调用 PageHelper.startPage 静态方法。
除了 PageHelper.startPage 方法外,还提供了类似用法的 PageHelper.offsetPage 方法。
在你需要进行分页的 MyBatis 查询方法前调用 PageHelper.startPage 静态方法即可,紧跟在这个方法后的第一个 MyBatis 查询方法会被进行分页。
@Test public void testSelect() throws IOException { //获取第 1 页,3 条内容 PageHelper.startPage(1,3); List<Student> studentList = studentDao.selectStudents(); studentList.forEach( stu -> System.out.println(stu)); }
使用PageHelper
接口方法:
List<Student> selectAllStudents();
mapper文件:
<select id="selectAllStudents" resultType="com.lln.vo.Student"> select * from student order by id </select>
测试类:
@Test public void testSelectAllStudents(){ //1.获取SqlSession SqlSession session = MyBatisUtil.getSqlSession(); //2.获取dao的代理 StudentDao dao = session.getMapper(StudentDao.class); //调用PageHelper的方法 PageHelper.startPage(1,3); List<Student> students = dao.selectAllStudents(); students.forEach(stu -> System.out.println("stu = "+stu)); //3.关闭SqlSession对象 session.close(); }
运行结果:
Logging initialized using 'class org.apache.ibatis.logging.stdout.StdOutImpl' adapter. PooledDataSource forcefully closed/removed all connections. PooledDataSource forcefully closed/removed all connections. PooledDataSource forcefully closed/removed all connections. PooledDataSource forcefully closed/removed all connections. Created connection 209833425. Returned connection 209833425 to pool. Cache Hit Ratio [SQL_CACHE]: 0.0 Opening JDBC Connection Checked out connection 209833425 from pool. Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@c81cdd1] ==> Preparing: SELECT count(0) FROM student ==> Parameters: <== Columns: count(0) <== Row: 7 <== Total: 1 ==> Preparing: select * from student order by id LIMIT ? ==> Parameters: 3(Integer) <== Columns: id, name, email, age <== Row: 1, 张三, 123@163.com, 18 <== Row: 2, 李四, 456@163.com, 26 <== Row: 3, 王五, 789@163.com, 30 <== Total: 3 stu = Student实体:{id=1, name='张三', email='123@163.com', age=18} stu = Student实体:{id=2, name='李四', email='456@163.com', age=26} stu = Student实体:{id=3, name='王五', email='789@163.com', age=30} Resetting autocommit to true on JDBC Connection [com.mysql.jdbc.JDBC4Connection@c81cdd1] Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection@c81cdd1] Returned connection 209833425 to pool.
这篇关于Mybatis 通用分页插件PageHelper的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)