返回顶部
首页 > 资讯 > 数据库 >MPJ多表连表查询(包含分页)
  • 758
分享到

MPJ多表连表查询(包含分页)

mybatisjavamysql 2023-08-22 08:08:41 758人浏览 八月长安
摘要

MPJ是mybatis plus join 的缩写,以前写多表查询时,一般都是写在配置文件,现在mybatis plus join 完全可以解放写xml文件,功能十分强大。 上代码,本文涉及五张表,连表查询从各个表拿出所需字段输出一条记录。

MPJ是mybatis plus join 的缩写,以前写多表查询时,一般都是写在配置文件,现在mybatis plus join 完全可以解放写xml文件,功能十分强大。
上代码,本文涉及五张表,连表查询从各个表拿出所需字段输出一条记录。
Device表:
在这里插入图片描述
device_cateGory表
在这里插入图片描述
device_image表:
在这里插入图片描述
device_status表:
在这里插入图片描述
producer表:
在这里插入图片描述
项目工程结构:
在这里插入图片描述
1.首先引入MPJ插件

<dependency>            <groupId>com.GitHub.yulichang</groupId>            <artifactId>mybatis-plus-join</artifactId>            <version>1.3.0</version>        </dependency>

配置config

@Configurationpublic class MysqlInjector extends MPJsqlInjector {    @Override    public List<AbstractMethod> getMethodList(Class<?> mapperClass) {        //将原来的保持        List<AbstractMethod> methodList = super.getMethodList(mapperClass);        //多表查询sql注入 从连表插件里移植过来的        methodList.add(new SelectJoinOne());        methodList.add(new SelectJoinList());        methodList.add(new SelectJoinPage());        methodList.add(new SelectJoinMap());        methodList.add(new SelectJoinMaps());        methodList.add(new SelectJoinMapsPage());        return methodList;    }}

mapper包

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
dto:

@Data@Builder@AllArgsConstructor@NoArgsConstructor@Accessors(chain = true)@apiModel(value = "DeviceInfoDto", description = "")public class DeviceInfoDto implements Serializable {    private static final long serialVersionUID = 1L;        @ApiModelProperty("设备id")    private Long id;        @ApiModelProperty("设备名称")    private String deviceName;        @ApiModelProperty("设备序列号")    private String serialNum;        @ApiModelProperty("设备型号")    private String modelNum;        @ApiModelProperty("类别名称")    private String categoryName;        @ApiModelProperty("设备产商")    private String producer;        @ApiModelProperty("设备状态值")    private String statusValue;        @ApiModelProperty("图片地址")    private String imageUrl;}

主启动:
在这里插入图片描述
测试代码:

 @Test    void testJoin(){        String status = "启动";               IPage<DeviceInfoDto> page = deviceMapper.selectJoinPage(new Page<>(1,3)                ,DeviceInfoDto.class,MPJWrappers.<Device>lambdaJoin().                        select(Device::getId,Device::getDeviceName,Device::getSerialNum,Device::getModelNum).                        select(DeviceCategory::getCategoryName).                        select(Producer::getProducer).                        select(DeviceStatus::getStatusValue).                        select(DeviceImage::getImageUrl).                        leftJoin(DeviceCategory.class,on-> on    .eq(Device::getCategoryId,DeviceCategory::getId))                        .leftJoin(Producer.class,on-> on    .eq(Device::getProducerId,Producer::getId))                        .leftJoin(DeviceStatus.class,on-> on    .eq(Device::getStatusId,DeviceStatus::getId))                        .leftJoin(DeviceImage.class,on->on.    eq(Device::getId,DeviceImage::getDeviceId))                        .eq(Device::getCompanyId,1L)                        .eq(!Objects.isNull(status),DeviceStatus::getStatusValue,status));        page.getRecords().forEach(System.out::println);    }

运行结果:
在这里插入图片描述

来源地址:https://blog.csdn.net/weixin_46649945/article/details/129408368

您可能感兴趣的文档:

--结束END--

本文标题: MPJ多表连表查询(包含分页)

本文链接: https://lsjlt.com/news/377699.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MPJ多表连表查询(包含分页)
    MPJ是mybatis plus join 的缩写,以前写多表查询时,一般都是写在配置文件,现在mybatis plus join 完全可以解放写xml文件,功能十分强大。 上代码,本文涉及五张表,连表查询从各个表拿出所需字段输出一条记录。...
    99+
    2023-08-22
    mybatis java mysql
  • MybatisPlus多表连表查询
    最近发现一个好玩的框架,我们知道mybatis-plus在连表查询上是不行的,如果需要连表查询,那么我们就得乖乖的去写xml文件了,但是今天发现一个新的框架 mybatis-plus-join。它既包含了mybatis-plus的所有优点,...
    99+
    2023-08-17
    mybatis java mysql
  • sqlserver多表联合查询和多表分页查询的代码讲解
    这篇文章主要为大家详细介绍了sqlserver多表联合查询和多表分页查询的方法,图文详解容易学习,配合代码阅读理解效果更佳,非常适合初学者入门,感兴趣的小伙伴们可以参考一下。多表联查:select...
    99+
    2024-04-02
  • 连接查询(多表查询)——MySQL
    连接查询(多表查询) 又称多表查询,当查询的字段涉及多个表的时候,就要用到连接查询 分类: 为表起别名: 提高语句的简洁度区分多个重名字段注意:如果为表起了别名,则查询的字段就不能使用原来的别名去限定 内连接 查询A、B 交集部分数据 语...
    99+
    2023-08-18
    数据库 mysql 多表查询
  • spring boot集成mybatis-plus——Mybatis Plus 多表联查(包含分页关联查询,图文讲解)...
    Mybatis Plus 多表联查(包含分页关联查询,图文讲解)  更新时间 2023-01-03 21:41:38 大家好,我是小哈。 本小节中,我们将学习如何通过 Mybatis Plus 实现多表关联查询,以及...
    99+
    2023-08-31
    mybatis spring boot java 数据库 mysql
  • oralce 12c 表空间查询(包含pdb)
    SELECT DB_NAME ,con_id ,RES_NAME ,TABLE_SIZE ,USED_SIZE ,USE_PERCENT ,AVA_SIZE ,AUTOEXTENSIBLE ,CON...
    99+
    2024-04-02
  • MybatisPlus多表连接查询
    mybatis-plus作为mybatis的增强工具,它的出现极大的简化了开发中的数据库操作,但是长久以来,它的联表查询能力一直被大家所诟病。一旦遇到left join或right join的左右连接,你还是得老老实实的打开xml文件,手写...
    99+
    2023-08-16
    mybatis java mysql
  • mybatis-plus 多表关联条件分页查询
    此处以一对多,条件分页查询为例: 一.表结构: 主表 CREATE TABLE `t_user` ( `id` bigint NOT NULL AUTO_INCREMENT, `user_name` varchar(255) DEFAU...
    99+
    2023-08-20
    mybatis mysql java
  • mybatis-plus实现自定义SQL、多表查询与多表分页查询语句实例
    目录前言1、自定义SQL2、多表查询3、多表分页查询4、多表分页条件查询总结前言 本文介绍了在mybatis-plus中如何实现:自定义SQL语句,多表查询语句,多表分页查询语句 在...
    99+
    2024-04-02
  • Oracle 查询表的索引包含的字段
    字段保留在 dba_ind_columns视图中 select a.uniqueness 索引类型,b.index_name 索引名称,b.column_name 字段 from user_indexes a ,user_ind...
    99+
    2019-06-18
    Oracle 查询表的索引包含的字段 数据库入门 数据库基础教程 数据库 mysql
  • MySQL之单表查询、多表查询
    一、单表查询: 单个表的查询方法及语法顺序需要通过实际例子来熟悉 先将表数据创建下: mysql> create database singe_t1; # 建个数据库singe_t1 Query OK, 1 row aff...
    99+
    2023-01-31
    MySQL
  • 多表查询
    多表查询:联接查询、子查询、集合运算     联接查询 交叉联接:笛卡尔积 select * from ,   内联接:有条件的联接 select * from inner join on --SQ...
    99+
    2014-11-21
    多表查询
  • MySQL多表连接查询详解
    目录多表连接查询内连接左连接右连接子查询总结多表连接查询 表与表之间的连接分为内连接和外连接 内连接:仅选出两张表互相匹配的记录 外连接:既包括两张表匹配的记录,也...
    99+
    2024-04-02
  • MyBatis-Plus联表查询及分页
    MyBatis-Plus联表查询及分页 一、准备工作1、数据库结构以及数据2、依赖3、配置类让mybatis-plus-join在DataScopeSqlInjector中生效4、启动类排除MPJSqlInjector.class ...
    99+
    2023-08-16
    mybatis mysql java
  • mysql 连表查询
    MySQL 连表查询可以通过使用 JOIN 语句来实现,基本语法如下: SELECT 列名 FROM 表1 JOIN 表2 ON 表1.列名 = 表2.列名; 其中,JOIN 为关键字,表示连...
    99+
    2023-10-05
    mysql 数据库 sql
  • mybatis-plus多表分页查询最佳实现(简单)
    1.简介 在Mybatis Plus 中,虽然IService 接口帮我们定义了很多常用的方法,但这些都是 T 对象有用,如果涉及到 多表的查询,还是需要自定义Vo 对象和自己编写sql 语句,Mybatis Plus提供了一个Page 对...
    99+
    2023-08-23
    mybatis java mysql
  • MySQL数据库:多表连接查询
    多表连接查询 注意:使用连接技术建议将表经行重命名! # explain 检索连接是否达标 # 内连接 # 语法1 from 表1 inner join 表2 on 主键字段=外键字段 [where 条件表达式] # 语法2 ...
    99+
    2022-01-30
    MySQL数据库:多表连接查询
  • MySQL 多表查询
      union 结果集合并 使用多个select分别查询不同的表,把多个select查到的记录合并在一起 一个select查到m条记录,另一个select查到n条记录,合并之后就是m+n条记录   #查询全校...
    99+
    2017-05-29
    MySQL 多表查询
  • MySQL --- 多表查询
    多表查询、事务、以及提升查询效率最有手段的索引  一. 多表查询 1.1 多表查询 --- 概述 1.1.1 数据准备 将资料中准备好的多表查询数据准备的SQL脚本导入数据库中。 部门表: 员工表: 1.1.2 介绍 多表查询:指从多张表...
    99+
    2023-09-02
    mysql 数据库
  • MySQL多表查询
    文章目录 一、什么是多表查询1、概述2、笛卡尔积现象 二、多表查询的分类1、等值连接 vs非等值连接2、自连接 vs 非自连接3、内连接 vs 外连接4、满外连接(FULL OUTE...
    99+
    2023-09-01
    mysql 数据库 sql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作