当前位置: 首页 > news >正文

MyBatis-Plus实现自定义SQL语句的分页查询

正常开发的时候,有时候要写一个多表查询,然后多表查询之后还需要分页,MyBatis-Plus的分页插件功能挺不错的,可以很简单实现自定义SQL的分页查询。

分页插件配置

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class MybatisPlusConfig {/*** 分页插件*/@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}
}

注解方式写自定义SQL

自定义SQL返回数据的DTO类

自定义SQL返回的数据跟模型类也有点出入,需要重新新建一个DTO类,用来存储数据。

import lombok.Data;@Data
public class UserOrgDto {private String userName;private String realName;private String orgName;
}
Mapper类上注解开发
@Mapper
public interface UserMapper extends BaseMapper<User> {@Select("select a.user_name,a.real_name,b.org_name from user a left join org b on b.id = a.org_id where a.user_status = 0")Page<UserOrgDto> findUserPage(Page<UserOrgDto> page);
}

测试调用

@SpringBootTest
@ActiveProfiles("dev")
public class  CommonApplicationTest {@Resourceprivate UserMapper userMapper;@Testpublic void pageUser(){Page<UserOrgDto> page = new Page<>(1,10);Page<UserOrgDto> userPage= userMapper.findUserPage(page);System.out.println(JSONUtil.toJsonStr(userPage));}
}

MyBatis-Plus当识别出传入page参数,便能自动分页,十分好用方便,帮我们高效开发。

http://www.lryc.cn/news/274724.html

相关文章:

  • vue3 里的 ts 类型工具函数
  • 【SpringCloud】之远程消费(进阶使用)
  • 自然语言处理24-T5模型的介绍与训练过程,利用简单构造数据训练微调该模型,体验整个过程
  • CISSP 第5章 保护资产的安全
  • docker安装-在linux下的安装步骤
  • 在Uniapp中使用Echarts创建可视化图表
  • 基于python的leetcode算法介绍之动态规划
  • 通信原理期末复习——计算大题(一)
  • 【萤火虫系列教程】2/5-Adobe Firefly 文字​生成​图像
  • JDK 11:崭新特性解析
  • leetcode.在链表中插入最大公约数
  • 云原生学习系列之基础环境准备(单节点安装kubernetes)
  • 【数据结构】二叉树的概念及堆
  • 美年大健康黄伟:从选型到迁移,一个月升级核心数据库
  • OpenHarmony应用构建工具Hvigor的构建流程
  • ChatGPT在金融财务领域的10种应用方法
  • 全程云OA ajax.ashx SQL注入漏洞复现
  • VMware 安装 macOS虚拟机(附工具包)
  • Tomcat与Servlet是什么关系
  • C++11_右值引用
  • C#使用条件语句判断用户登录身份
  • 在VM下使用Composer完成快照方式的软件制作
  • YOLOv5改进 | Neck篇 | 利用Damo-YOLO的RepGFPN改进特征融合层
  • 设计模式——最全梳理,最好理解
  • 外包干了4个月,技术退步明显了...
  • rust 注释文档生成 cargo doc
  • 大语言模型(LLM)框架及微调 (Fine Tuning)
  • 速盾高防ip:专业防御ddos
  • 第5章-第8节-Java面向对象中的内部类
  • 首次引入大模型!Bert-vits2-Extra中文特化版40秒素材复刻巫师3叶奈法