Mybatis分页方法
使用 Maven
在 pom.xml 中添加如下依赖:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
Example
可以这样调用,PageHelper.startPage(1,10)表示从第一页开始,每页10条记录,返回值为Page<>。
@RestController public class ProductController { @Autowired ProductMapper productMapper; @RequestMapping("getProduct") public Page<Product> getProduct(){ PageHelper.startPage(1,10); Page<Product> productList = (Page<Product>) productMapper.selectAll(); return productList; } }
这是直接通过mapper获取DO数据可以直接使用,List<>可以被直接强转为Page<>。
如果要转换为DTO或VO,需要通过下面的方式
@RequestMapping("getProduct")
public PageInfo<ProductDTO> getProduct(){
PageHelper.startPage(1,10); List<ProductDTO> productDTOS = new ArrayList<>();
List<Product> productList = productMapper.selectAll();
PageInfo<Product> pageInfo = new PageInfo<>(productList); for (Product product : productList) {
ProductDTO productDTO = new ProductDTO();
BeanUtils.copyProperties(product,productDTO);
productDTOS.add(productDTO);
} PageInfo pageResult = new PageInfo(productDTOS);
return pageResult;
}
返回值为PageInfo<>类型,因为List<DTO>为ArrayList类,不能直接转为Page<>,所以放在PageInfo<>中。
前端取list中的内容即可,其余为参数信息。
PageHelper.startPage
静态方法调用
除了 PageHelper.startPage
方法外,还提供了类似用法的 PageHelper.offsetPage
方法。
在你需要进行分页的 MyBatis 查询方法前调用 PageHelper.startPage
静态方法即可,紧跟在这个方法后的第一个MyBatis 查询方法会被进行分页。
Mybatis分页方法的更多相关文章
- Mybatis分页插件PageHelper的配置和使用方法
Mybatis分页插件PageHelper的配置和使用方法 前言 在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页. 前端分 ...
- Spring data Jpa 分页从1开始,查询方法兼容 Mybatis,分页参数兼容Jqgrid
废话少说 有参数可以设置 在org.springframework.boot.autoconfigure.data.web.SpringDataWebProperties 中 /** * Whethe ...
- MyBatis分页插件PageHelper使用方法
1.导入相关依赖坐标 <!-- MyBatis分页插件 --> <dependency> <groupId>com.github.pagehelper</gr ...
- Mybatis分页和Spring的集成
写了一个Mybatis分页控件,在这记录一下使用方式. 在Maven中加入依赖: ? 1 2 3 4 5 6 7 8 9 <dependencies> ... <depe ...
- Mybatis分页插件PageHelper简单使用
一个好的讲解mybatis的博客地址http://www.jianshu.com/nb/5226994 引言 对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句 ...
- Mybatis分页插件PageHelper使用
一. Mybatis分页插件PageHelper使用 1.不使用插件如何分页: 使用mybatis实现: 1)接口: List<Student> selectStudent(Map< ...
- mybatis分页练手
最近碰到个需求,要做个透明的mybatis分页功能,描述如下:目标:搜索列表的Controller action要和原先保持一样,并且返回的json需要有分页信息,如: @ResponseBody @ ...
- SSM 使用 mybatis 分页插件 pagehepler 实现分页
使用分页插件的原因,简化了sql代码的写法,实现较好的物理分页,比写一段完整的分页sql代码,也能减少了误差性. Mybatis分页插件 demo 项目地址:https://gitee.com/fre ...
- MyBatis 分页插件 PageHelper 使用
1. 引入Maven依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...
随机推荐
- docker添加mongo4.0.3并配置复制集
1.创建docker 具体略过 自行百度 2.创建数据持久化目录文件(/data/mongo0是个例子 命名随意) 拉取mongo docker pull mongo:4.0.3 3.启动容器 do ...
- 分布式事务的 N 种实现
转自:http://myfjdthink.com/2019/04/26/%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1%E7%9A%84-n-%E7%A7% ...
- fineui grid自定义选项框 带全选
为什么要写这功能? 1 当你用可编辑列的时候,是不能用选择框的,这是ext设定的. 2 如果有不允许选择行,默认的选择框是没有这个功能的. 参考: 遍历asp.net控件 http://fineu ...
- C++冒泡排序及优化
冒泡排序 1.经典冒泡排序 经典的冒泡排序为从左边开始依次判断排序,每次最终仅将一个数向后冒泡,而对于其他数的排序没有什么帮助:如果已经所有元素已经是有序的,依然执行循环. 2.优化冒泡排序 优化地方 ...
- python3 安装 pyinstaller 时报错的解决办法
如上图所示,在安装的过程中发现是所关联的一个 future模块安装失败,庵后我有单独安装了一下这个future,发现还是失败 然后在网上寻找解决办法,最后找到了这个指令,pip install fut ...
- Oracle的字串處理
Oracle的字串處理 除了寫程式之外,資料庫的應用也是蠻重要的,而SQL語法,用法大致相同,但各公司所出的資料庫還是有所差別,而ORACLE SQL給了相當多的函數應用,下面列了一些函法的名稱和用法 ...
- MySQL中的JSON类型
前言(废话) 昨天抽了点时间在网上搜列了一个开源项目,项目挺完整的,前后台分离还带有微信小程序,我Clone下代码,经过一番倒腾,嘿~还真就跑起来了.在这个过程中,体验了一把VUE项目工程细节,因为之 ...
- 数据分析 之 NumPy
目录 简单了解数据分析 Python数据分析三剑客(Numpy,Pandas,Matplotlib) 简单使用np.array() 使用np的routines函数创建数组 ndarray N维数组对象 ...
- 彻底弄懂ES6中的Map和Set
Map Map对象保存键值对.任何值(对象或者原始值) 都可以作为一个键或一个值.构造函数Map可以接受一个数组作为参数. Map和Object的区别 一个Object 的键只能是字符串或者 Symb ...
- 水泥caement单词
Caement英语单词,翻译为:水泥 中文名:水泥 外文名:caement 目录 释义 caement 读音:英 [sɪˈment] 美 [sɪˈmɛnt] Noun名词. 水泥; caement在英 ...