mybatis分页插件pageHelper详解及简单实例
时间:2019-03-30
本文章向大家介绍mybatis分页插件pageHelper详解及简单实例,主要包括mybatis分页插件pageHelper详解及简单实例使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
mybatis分页插件pageHelper详解及简单实例
工作的框架spring springmvc mybatis3
首先使用分页插件必须先引入maven依赖,在pom.xml中添加如下
<!-- 分页助手 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>3.7.5</version> </dependency>
其次需要在配置文件中添加配置,有两种方式
1,新建mybatis-config.xml内容如下
<?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> <!-- 分页助手 --> <plugins> <!-- com.github.pagehelper为PageHelper类所在包名 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <!-- 数据库方言 --> <property name="dialect" value="MySQL"/> <!-- 设置为true时,使用RowBounds分页会进行count查询 会去查询出总数 --> <property name="rowBoundsWithCount" value="true"/> </plugin> </plugins> </configuration>
在spring-mybatis.xml中添加一个bean属性
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" />
加载全局的配置文件
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
配置mapper的扫描,找到所有的mapper.xml映射文件。
<property name="mapperLocations" value="classpath:com/lyitong/mapping/*.xml"></property>
备注:如果你的mybatis-config.xml配置文件开启了如下别名配置:
<typeAliases> <!-- javabean 的首字母小写的非限定类名来作为它的别名(其实别名是不去分大小写的)。也可在javabean 加上注解@Alias 来自定义别名, 例如: @Alias(student) --> <package name="com.lyt.usermanage.mapper"/> </typeAliases>
那么你的spring和mybatis整合文件就得加上相应的属性,否则会造成mybatis配置文件加载不成功报异常,如下:
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- 加载全局的配置文件 --> <property name="configLocation" value="classpath:mybatis/mybatis-config.xml"></property> <!-- 配置mapper的扫描,找到所有的mapper.xml映射文件。 --> <property name="mapperLocations" value="classpath:com/lyt/usermanage/mapper/*.xml"></property> <!-- 配置类型别名 --> <property name="typeAliasesPackage" value="classpath:com/lyt/usermanage/pojo/*"></property> </bean>
相比于上面的配置我们这里多了一步
<property name="typeAliasesPackage" value="classpath:com/lyt/usermanage/pojo/*"></property>
配置的时候要注意mybatis配置文件和spring-mybatis整合文件的属性要统一。
2.如上操作配置完成,下面第二种方法
直接在spring-mybatis.xml中配置如下属性
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="mapperLocations" value="classpath:com/lyitong/mapping/*.xml"></property> <!-- pageHelper 分页插件 --> <property name="plugins"> <array> <bean class="com.github.pagehelper.PageHelper"> <property name="properties"> <value> dialect=mysql rowBoundsWithCount=true </value> </property> </bean> </array> </property> </bean>
配置文件加载好之后,就可以直接使用,具体使用代码如下:
PageHelper.startPage(Integer.parseInt(currentPage), Integer.parseInt(pageSize)); List<LytBbsTz> publishTz = bbsTzDao.getPublishTz(userId); PageInfo<LytBbsTz> info = new PageInfo<LytBbsTz>(publishTz); map.put("status", 1); map.put("tzList", info.getList()); return map;
前台需要传入的参数是当前页和页面显示数目,当然页面显示数目也可以后台规定,一般在接收参数时最好加上默认配置如下:
@RequestParam(defaultValue="1",value="currentPage")String currentPage, @RequestParam(defaultValue="10",value="pageSize")String pageSize
这是如果接收参数为空字符串时它自身默认显示的页面和条数,这个可以自己规定
以上就是pageHelper的简单应用
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
- 生信宝典之傻瓜式 (二) 如何快速查找指定基因的调控网络
- React Native组件只Image
- 数据结构之线性表
- 生信宝典之傻瓜式 (三) 我的基因在哪里发光 - 如何查找基因在发表研究中的表达
- 谈谈 char *num="123";和char num[4]="123";的区别
- 未越狱的iPhone/iPad也中招:走近强大的间谍软件XAgent与MadCap
- 【年末收藏】17个新手常见Python运行时错误
- C++ STL之priority_queue
- 链表的相关操作
- 《笨办法学Python》 第0课手记
- Python黑客学习笔记:从HelloWorld到编写PoC(上)
- java多线程(内附实例:窗口售票问题、人和叉子的问题)
- 数据结构之队列
- 《笨办法学Python》 第20课手记
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 原创 | 险些翻车,差一点没做出来的基础算法题
- 原创 | 你追我,如果你追到我……那就算你赢了
- 原创 | 详解gitignore的使用方法,让你尽情使用git add .
- 第31天:面试比 KMP 还容易被问到的匹配算法!
- 原创 | 深度学习开篇,来聊聊感知机的原理
- 算法题:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字
- 使用Java和Python解题:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。
- R语言中%||%是什么意思?
- 原创 | 你会用缓存吗?详解LRU缓存淘汰算法
- 用Java实现:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。
- Hacking with iOS: SwiftUI Edition - Hot Prospects项目(一)
- 原创 | 详解command设计模式,解耦操作和回滚
- 第32天:图解大数打印,这道题如此经典!
- Mac终端配置好的环境变量在关闭终端后失效怎么办
- R中的stack和unstack函数