mybatis plus分页实现总结
时间:2019-09-20
本文章向大家介绍mybatis plus分页实现总结,主要包括mybatis plus分页实现总结使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Store为数据库实体
StoreQueryRequest 为请求参数对象
StoreItemVO 为自定义对象
简单单表分页
public interface StoreService { IPage<Store> query(StoreQueryRequest param); }
StoreServiceImpl @Override public IPage<Store> query(StoreQueryRequest param) { Page<Store> page = new Page<>(param.getPageIndex(), param.getPageSize()); QueryWrapper<Store> qw = new QueryWrapper<>(); qw.eq("store_id", param.getStoreId); return storeMapper.selectPage(page, qw); }
StoreController @GetMapping(value = "/query") public IPage<Store> query(StoreQueryRequest param) { IPage<Store> iPage = storeService.query(param); return iPage; }
多表查询分页
StoreMapper public interface StoreMapper extends BaseMapper<Store> { List<StoreItemVO> query(IPage<StoreItemVO> page, @Param("param") StoreQueryRequest param); }
StoreMapper.xml <select id="query" parameterType="com.demo.model.StoreQueryRequest" resultType="com.demo.model.StoreItemVO"> SELECT * FROM t_store <where> <if test="param.storeId != null"> and id = #{param.storeId} </if> </where> </select>
StoreService public interface StoreService extends IService<Store> { IPage<StoreItemVO> query(StoreQueryRequest param); }
StoreServiceImpl public class StoreServiceImpl extends ServiceImpl<StoreMapper, Store> implements StoreService { @Autowired private StoreMapper StoreMapper; @Override public IPage<StoreItemVO> query(StoreQueryRequest param) { IPage<StoreItemVO> iPage = new Page<>(param.getPageIndex(), param.getPageSize()); List<StoreItemVO> list = StoreMapper.query(iPage, param); iPage.setRecords(list); return iPage; } }
StoreController @GetMapping(value = "/query") public IPage<StoreItemVO query(StoreQueryRequest param) { IPage<StoreItemVO> iPage = StoreService.query(param); return iPage; }
以上ipage和page引用的包
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
原文地址:https://www.cnblogs.com/zengnansheng/p/11558004.html
- React第三方组件4(状态管理之Reflux的使用③TodoList中)
- Leetcode-Easy21. Merge Two Sorted ListsDefinition for singly-linked list.class ListNode:def init(sel
- Burp Suite详细使用教程-Intruder模块详解
- 逆元的三种解法(附详细证明)
- JavaScript设计模式与开发实践 - 单例模式
- Leetcode-Easy 141. Linked List Cycle
- 【DataMagic】如何在万亿级别规模的数据量上使用Spark
- 51nod1004 n^n的末位数字
- Leetcode-Easy 20. Valid Parentheses
- Leetcode-Easy 234. Palindrome Linked List
- 为什么是link-visited-hover-active
- 51Nod 1051 最大子矩阵和
- Javascript之创建对象
- Leetcode-Easy 136. Single Number
- 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 文档注释
- 「干货」基本数据类型和引用数据类型的区别
- int 和 integer :装箱和拆箱的过程,会用到什么方法,你觉得这个会对性能有影响吗,原因是什么(百度一面)
- 数组:这个循环可以转懵很多人!
- 企业远程办公视频会议系统EasyRTC-SFU下侧边栏边框超限问题如何解决?
- 编写高质量可维护的代码:数据建模
- 新版企业远程办公视频通话系统EasyRTC-SFU,如何解决用户登录信息更新不及时的问题?
- 服务应用突然宕机了?别怕,Dubbo 帮你自动搞定服务隔离!
- 33.Python字符串方法find以及与序列解包的技巧结合
- 代码审计从0到1 —— Centreon One-click To RCE
- 一文带你深扒ClassLoader内核,揭开它的神秘面纱!
- 小知识:OGG的TRANLOGOPTIONS MINEFROMACTIVEDG参数
- oracle转postgreSQL修改点
- 重学数据结构(三、队列)
- Jmeter系列(68)- BeanShell 内置变量 prev
- 聊聊java中的哪些Map:(六)ConcurrentHashMap源码分析