初探Mybaties整合分页插件PageHelper(1)
Mybaites整合分页PageHelper插件
在数据进行分页,通过sql语句,mysql分页,table_name表名,pageNum 第几页,pageSize 每页数据条数:
SELECT * FROM tale_name LIMIT pageNum=? and pageSize=?
在Oracle中进行分页时,采用RowNum,
SELECT * FROM (SELECT rownum R, u.* FROM 表名 u WHERE rownum <= ?) WHERE R >=?
?=PageNo*PageSize
?=(PageNo-1)*PageSize+1
使用PageHelper插件,先引入pageHelper依赖:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>3.7.5</version>
</dependency>
在sqlsessionfactory中配置PageHelper插件
<!--2. 配置sqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 自动扫描mapping.xml文件 -->
<property name="mapperLocations" value="classpath:mappers/*.xml"></property>
<!--配置扫描实体类的包 -->
<property name="typeAliasesPackage" value="com.soft.entity"></property>
<property name="plugins">
<bean class="com.github.pagehelper.PageHelper">
<property name="properties">
<value>dialect=mysql</value>
</property>
</bean>
</property>
</bean>
PageHelper是插件内置用以分页的静态类
public List<User> selectUserByPage(int pageNum, int pageSize){
PageHelper.startPage(pageNum, pageSize); // limit pageNum,pageSize
List<User> users = userDao.selectAll(); //MyBaties中查询语句
//反射形成mysql分页语句,对List<User>进行分页
return users;
}
在Mapper.xml中配置List<User>全查询
<select id="selectAll" resultType="User">
select * from User
</select>
在Controller中,从前台传入pageNum,pageSize两个参数,为了便于测试在Controller中使用GET方法
@RequestMapping(value = "/findUser",method=RequestMethod.GET)
@ResponseBody
public String selectUserByPage(int pageNum,int pageSize){
List<User> users = userService.selectUserByPage(pageNum, pageSize);
JSONObject obj=new JSONObject();
for (int i=0;i< users.size();i++) {
obj.put(i,users.get(i).toString());
}
return obj.toString();
}
从前台进行查询,结果见下
初探Mybaties整合分页插件PageHelper(1)的更多相关文章
- Mybatis的分页插件PageHelper
Mybatis的分页插件PageHelper 项目地址:http://git.oschina.net/free/Mybatis_PageHelper 文档地址:http://git.oschina. ...
- mybatis分页插件PageHelper的使用(转)
Mybatis 的分页插件PageHelper-4.1.1的使用 Mybatis 的分页插件 PageHelper 项目地址:http://git.oschina.net/free/Mybatis_P ...
- MyBatis学习总结_17_Mybatis分页插件PageHelper
如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件. 分页插件支持任何复杂的单表.多表分页,部分特殊情况请看重要提示. 想要使用分页插件?请看如何使用分页插件. 物理分页 该 ...
- Mybatis分页插件PageHelper的配置和使用方法
Mybatis分页插件PageHelper的配置和使用方法 前言 在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页. 前端分 ...
- Mybatis分页插件PageHelper使用
一. Mybatis分页插件PageHelper使用 1.不使用插件如何分页: 使用mybatis实现: 1)接口: List<Student> selectStudent(Map< ...
- SpringBoot集成MyBatis的分页插件 PageHelper
首先说说MyBatis框架的PageHelper插件吧,它是一个非常好用的分页插件,通常我们的项目中如果集成了MyBatis的话,几乎都会用到它,因为分页的业务逻辑说复杂也不复杂,但是有插件我们何乐而 ...
- Mybatis分页插件PageHelper
application.properties配置 pagehelper.helperDialect=mysql pagehelper.reasonable=true pagehelper.suppor ...
- SpringBoot 使用 MyBatis 分页插件 PageHelper 进行分页查询
前言:本文档使用的是 SpringBoot,如果是 Spring 还需要在 MyBatis 配置 xml 中配置拦截器,并且 PageHelper 是针对 MyBatis 的,MyBatis 的集成不 ...
- SpringBoot Mybatis 分页插件PageHelper
添加maven配置: <!-- 分布插件 --> <dependency> <groupId>com.github.pagehelper</groupId&g ...
随机推荐
- 【转】 .Net MVC4 上传大文件,并保存表单
1前台:cshtml </pre><pre name="code" class="csharp">@model BLL.BLL.Prod ...
- Windows2008R2安装Exchange 2010前必须要做的准备工作
由于WindowsServer2008R2已经包含了KB979099.KB982867.KB979744.KB983440.KB977020这些补丁的内容,所以无须另外下载安装. 详见https:// ...
- com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'test'
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'test' 报错原因是:MySQL数据库没有 ...
- hive sql 语句执行顺序及执行计划
hive 语句执行顺序 from... where.... select...group by... having ... order by... 执行计划 Map Operator Tree: Ta ...
- ubuntu-Linux下如何安装Tensorflow?
http://wiki.jikexueyuan.com/project/tensorflow-zh/get_started/os_setup.html https://www.cnblogs.com/ ...
- 深度学习原理与框架-卷积网络细节-经典网络架构 1.AlexNet 2.VGG
1.AlexNet是2012年最早的第一代神经网络,整个神经网络的构架是8层的网络结构.网络刚开始使用11*11获得较大的感受野,随后使用5*5和3*3做特征的提取,最后使用3个全连接层做得分值得运算 ...
- day31-软件开发规范
一.为什么要规范软件开发? 1.1 为什么要有规范软件开发 你现在包括之前写的一些程序,所谓的'项目',都是在一个py文件下完成的,代码量撑死也就几百行,你认为没问题,挺好.但是真正的后端开发的项目, ...
- VirtualBox安装增强工具方法
1.http://blog.csdn.net/wuliowen/article/details/71541561 2.https://segmentfault.com/a/11900000062335 ...
- 容器viewController添加或者删除子viewController
假设有一个viewControllerA,我们想在viewControllerA中添加viewControllerB,需要执行以下方法: [viewControllerA addChildViewCo ...
- Zabbix实现自动发现端口并监控
1.新建客户端需要的脚本 # vim discovertcpport.sh #!/bin/bash portarray=(`sudo netstat -tnlp|egrep -i "$1&q ...