博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mybatis分页插件
阅读量:4879 次
发布时间:2019-06-11

本文共 2127 字,大约阅读时间需要 7 分钟。

1.分页插件的方案?

可以使用mybatis的拦截器机制,在SQL执行前做一个拦截,然后对SQL语句加上limit ,这样所有需要分页的SQL就自动实现分页逻辑了。

2,拦截器实现分页的原理图:

对于以上原理图,主要就是基于拦截器机制,在执行sql语句之前,进行拦截,在你需要查询的语句前,加上limit ?,?

3.案例

需求:客户端传来两个参数:page,rows,实现分页

返回的是数据的总数和查询的数据

1)请求路径:  GET请求

2)请求参数:page(当前页码),rows(每页条数)

3)响应结果:必须包含两个内容:总条数xx.getTotal()  ,数据集合xx.getList()

 3.1添加依赖

com.github.pagehelper
pagehelper
3.7.5
com.github.jsqlparser
jsqlparser
0.9.1

3.2定义Mybatis核心配置文件添加插件

3.3定义controller类

/*     * 关于分页的参数 :     * 异步     * 有参page,rows     * 有返回值List
,total * */ @RequestMapping(value="list",method=RequestMethod.POST) public ResponseEntity
queryUserList(@RequestParam("page")Integer page,@RequestParam("rows")Integer rows){ try { PageInfo
pageInfo = userService.queryUserList(page, rows); PageResult pageResult = new PageResult(pageInfo.getList(),pageInfo.getTotal()); return ResponseEntity.status(HttpStatus.OK).body(pageResult); } catch (Exception e) { e.printStackTrace(); return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null); } }

3.4.调用service层

@Servicepublic class UserServiceImpl implements UserService{    @Autowired    private UserMapper userMapper;    @Override    public PageInfo
queryUserList(Integer page, Integer rows) { PageHelper.startPage(page, rows); List
list = this.userMapper.select(null); PageInfo
pageInfo = new PageInfo
(list); return pageInfo; }

3.5,因为单表的操作,这里使用通用Mapper类。调用dao

编写接口继承Mapper即可

转载于:https://www.cnblogs.com/lichangyun/p/8542307.html

你可能感兴趣的文章
如何把js的循环写成异步的
查看>>
ER图是啥?
查看>>
too many include files depth = 1024错误原因
查看>>
HTTP协议详解(三)
查看>>
Android零基础入门第84节:引入Fragment原来是这么回事
查看>>
解析SQL Server之任务调度
查看>>
参考资料地址
查看>>
08.路由规则中定义参数
查看>>
Pandas截取列部分字符,并据此修改另一列的数据
查看>>
java.lang.IllegalArgumentException
查看>>
【Spark】编程实战之模拟SparkRPC原理实现自定义RPC
查看>>
接口实现观察者模式
查看>>
四则运算完结篇
查看>>
Objective-C中的类目,延展,协议
查看>>
Python标准模块--Iterators和Generators
查看>>
Introduction Sockets to Programming in C using TCP/IP
查看>>
PHP 简单实现webSocket
查看>>
zookeeper部署搭建
查看>>
navigationController pop回之前控制器
查看>>
汇编语言实验一
查看>>