查询专栏:myabtis 实现的分页为什么还要分页插件?

文章目录

  • 1. 创建分页插件
  • 2. 测试分页
  • 3. 自定义分页
  • 4. 测试自定义分页方法
  • 5. 控制台输出
  • 6. 多表操作

1. 创建分页插件

@Configuration
public class MybatisPlusConfig {@Beanpublic PaginationInterceptor paginationInterceptor() {return new PaginationInterceptor();}
}

2. 测试分页

 /*** myabtis 实现的分页为什么还要分页插件?* <p>* 1.mybatis实现得分页时逻辑分页或者叫做内存不是物理分页* 2.他是把符合条件的数据全部查询出来放到内存中,然后返回你需要的那部分* 3.表中数据不多时,可以使用,速度慢一些;当数据量大时,建议使用物理分页*/@Testpublic void selectPage() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.ge("age", 26);//总页数+总记录数
//        Page<User> page = new Page<>(1, 2);//      不返回总记录数 设置falsePage<User> page = new Page<>(1, 2, false);//第一种
//        IPage<User> iPage = userMapper.selectPage(page, queryWrapper);
//        System.out.println("总页数:"+iPage.getPages());
//        System.out.println("总记录数:"+iPage.getTotal());//第二种IPage<Map<String, Object>> iPage = userMapper.selectMapsPage(page, queryWrapper);System.out.println("总页数:" + iPage.getPages());System.out.println("总记录数:" + iPage.getTotal());List<Map<String, Object>> userList = iPage.getRecords();userList.forEach(System.out::println);}

3. 自定义分页

  • 在mapper接口中,添加自定义分页接口
/*** 查询所有 有条件会自动拼接在where 后边当条件 单表操作** @param page* @param wrapper* @return*///自定义sql  分页IPage<User> selectUserPage(Page<User> page, @Param(Constants.WRAPPER) Wrapper<User> wrapper);
  • 在xml文件中书写sql
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mybatisplus.sampleschapter1.dao.UserMapper"><select id="selectUserPage" resultType="com.example.mybatisplus.sampleschapter1.entity.User">select * from user ${ew.customSqlSegment}</select></mapper>

4. 测试自定义分页方法

@Testpublic void selectMyPage() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.ge("age", 26);//总页数+总记录数Page<User> page = new Page<>(1, 2);//调用自定义sqlIPage<User> iPage = userMapper.selectUserPage(page, queryWrapper);System.out.println("总页数:" + iPage.getPages());System.out.println("总记录数:" + iPage.getTotal());List<User> userList = iPage.getRecords();userList.forEach(System.out::println);}

5. 控制台输出

6. 多表操作

/*** 多表操作* 1.在xml文件中书写sql语句* 2.在mapper接口中,定义接口* 3.客户端调用即可*/

想学习更多微服务、分布式、中间件、数据库、项目快速构建等系列技术
请访问http://gblfy.com
让我们一起进步!!!

MyBatis-Plus_分页查询相关推荐

  1. spring boot集成mybatis-plus——Mybatis Plus 分页查询数据(图解)

    Mybatis Plus 分页查询数据(图解)  更新时间 2023-01-01 11:58:32 大家好,我是小哈. 本小节中,我们将学习如何通过 Mybatis Plus 分页查询数据库表中的数据 ...

  2. Mybatis+springMVC+分页查询+前后端代码

    Mybatis+springMVC+分页查询+前后端代码 前言 我们在公司中经常会用到分页查询,最近,我在做一个公司的任务的时候,调用外部系统时需要将结果封装成分页的数据,之前我们都是直接调用我们公司 ...

  3. mybatis实现分页查询-自己封装分页方法

    大致结构如下: 一.定义返回数据结构 创建返回数据结构主要是为了统一方便,和分页查询的关系并不大,也可以忽略这一步. package boc.ljh.config;import io.swagger. ...

  4. Hasor【付诸实践 03】Dataway 无代码接口工具 DataQL 聚合查询引擎使用 Mybatis 实现分页查询举例说明 + 问题分析(针对GreenPlum数据库)

    Hasor 框架 Dataway 使用可参考我之前分享的 SpringBoot 集成 Hasor[Dataway 无代码接口工具]配置及问题解决 .这里记录一下使用DataQL遇到的问题. 1.举例及 ...

  5. SB mybatis 实现分页查询以及 分页查询请求和返回的封装

    首先实现分页查询很简单 ,这里的前提是你是用制动生成mybatis插件写的mybatis: 1.导入分页gav: <dependency><groupId>com.github ...

  6. MyBatis实现分页查询

    目录 一.基于注解的简单分页查询 1.定义对象 2.Mapper接口 3.Controller类 4.功能实现 二.基于注解的较复杂分页查询 1.定义shop实体类和page分页类 2.Mapper接 ...

  7. 使用 Mybatis——Plus 分页查询

    配置拦截器组件 @Configuration public class MyBatisPlusConfig {//分页插件@Beanpublic MybatisPlusInterceptor Myba ...

  8. MyBatis学习总结(12)——Mybatis+Mysql分页查询

    package cn.tsjinrong.fastfile.util; /**  * @ClassName: Page  * @Description: TODO(分页组件的父类,用来封装分页的 通用 ...

  9. Mybatis一对多分页查询问题

    一.背景引入 Mybatis提供了处理结果集的标签,其中子标签collection可以处理1对多的映射 <resultMap><collection></collecti ...

  10. 智能一代云平台(三十一):mybatis加入分页

    [前言] 在<智能一代云平台(三十):逆向工程生成mybatis>已经将mybatis的逆向工程搞定了:但是美中不足的是mybatis的分页查询:接下来一起来探索一下分页查询. [分页查询 ...

最新文章

  1. Swift3.0带来的变化汇总系列一——字符串与基本运算符中的变化
  2. 使用java进行erlang字符解析
  3. 速度超Mask RCNN四倍,仅在单个GPU训练的实时实例分割算法
  4. 深度学习~图神经网络GNN
  5. vs2010添加TSTCON( ActiveX Control Test Container )工具
  6. 金蝶kis商贸采购单商品代码_金蝶KIS商贸版流程
  7. c语言equal,C ++中的ratio_equal()示例
  8. 工具,帮助我们更高效的工作
  9. 互联网金融爬虫怎么写-第二课 雪球网股票爬虫(正则表达式入门)
  10. Python学习系列----第六章 数据结构
  11. 论文笔记_S2D.42_2018-CRV_为经典图像处理辩护:在CPU上的快速深度补全
  12. 3dmax:3dmax的软件中右边工具栏的创建、修改、层次、运动、显示、几何体的粒子系统、工具、灯光、摄影、空间扭曲、系统、实用程序、辅助对象等使用技巧之详细攻略
  13. cass打开dwg文件无效_CAD文件打开时图形文件显示无效怎么办
  14. 车牌识别算法 基于yolov5的车牌检测+crnn中文车牌识别 支持12种中文车牌识别
  15. 华为主题锁屏壁纸换不掉_华为手机去掉壁纸 华为主题换不了锁屏壁纸
  16. POI Excel设置列宽
  17. 访问网络共享找不到网络名的解决方案
  18. 什么是Android性能,如何分析性能问题?
  19. C# Dictionary源码解析
  20. IP地址的规划和设计方法(二)

热门文章

  1. mysql数据库字段变形_详解如何利用amoeba(变形虫)实现mysql数据库读写分离
  2. python入门必备知识_python入门基本知识
  3. Linux SO_KEEPALIVE属性,心跳
  4. 戚俊:可能是最懂架构的投资人
  5. 佰腾科技:专利大数据的云上裂变之路
  6. 解密 云HBase时序引擎OpenTSDB 优化技术
  7. 飞天2.0 | 万物智能的基础服务
  8. 基于阿里云HiTSDB搭建工业物联网平台实践
  9. “前端+应用”两大监控利器商业化首发 ARMS领跑APM市场
  10. Aruba与中国电信国际有限公司达成战略合作 助力中国企业扬帆出海