Spring中用Mybatis注解查询映射多个对象

news2024/11/19 7:23:53

1.映射写法如下 

@SelectProvider(type = UserGroupMapper.class, method = "getOrigins")
    @Results({
            @Result(property = "id", column = "id"),
            @Result(property = "groupId", column = "groupId"),
            @Result(property = "resId", column = "resId"),
            @Result(property = "resGroup.id", column = "groupId"),
            @Result(property = "resGroup.name", column = "groupName"),
            @Result(property = "resGroup.type", column = "groupType"),
            @Result(property = "resGroup.orgCode", column = "groupOrgCode"),
            @Result(property = "res.id", column = "resId"),
            @Result(property = "res.orgCode", column = "resOrgCode"),
            @Result(property = "res.name", column = "resName"),
            @Result(property = "res.ipv4", column = "ipv4"),
            @Result(property = "res.ipv6", column = "ipv6"),
            @Result(property = "res.resEdition", column = "resEdition"),
            @Result(property = "res.status", column = "resStatus"),
            @Result(property = "res.domainName", column = "domainName")
    })
    List<ResGroupBindRes> getOrigins(UserGroupQuery query);

2.SQL如下: 

public String getOrigins() {

        StringBuilder sql = new StringBuilder("SELECT rlg.c_id as id, rlg.c_group_id as groupId, rlg.c_res_id as resId, lg.c_name as groupName, lg.c_type as groupType, lg.c_desc as groupDesc, lg.c_org_code as groupOrgCode, r.c_org_code as resOrgCode, r.c_name as resName, r.c_ipv4 as ipv4 " +
                "  FROM t_res_logic_group as rlg " +
                "LEFT JOIN  t_res as r on rlg.c_res_id = r.c_id LEFT JOIN t_logic_group as lg on rlg.c_group_id = lg.c_id ");

        return sql.toString();
    }

 3.映射的对象如下

@Data
public class ResGroupBindRes {

    private String id;
    /* 资源组 */
    private ResGroup resGroup;

    /* 资源 */
    private Res res;

    /* 资源id集合 */
    private String resId;

    /* 组id */
    private String groupId;
}

 4.亲测有效

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1419090.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#,打印漂亮杨辉三角形(帕斯卡三角形)的源代码

杨辉 Blaise Pascal 这是某些程序员看完会哭的代码。 杨辉三角形&#xff08;Yanghui Triangle&#xff09;&#xff0c;是一种序列数值的三角形几何排列&#xff0c;最早出现于南宋数学家杨辉1261年所著的《详解九章算法》一书。 欧洲学者&#xff0c;最先由帕斯卡&#x…

老龄化对投资意味着什么?

1月15日&#xff0c;国务院办公厅印发《关于发展银发经济增进老年人福祉的意见》从4个方面提出26项举措&#xff0c;为我国首个以“银发经济”命名的政策文件。 近期&#xff0c;国信证券分析师王开发布题为《银发经济再思考&#xff1a;老龄化对投资的影响》的报告&#xff0…

使用this调用兄弟构造器

在任意类的构造器中&#xff0c;都可以通过this(...)去调用该类的其他构造器。 假如说只给有参构造器传了两个参数&#xff0c;想让第三个参数有默认值&#xff0c;那么可以这样&#xff1a; 可以看出有一部分代码重复了&#xff0c;那么可以通过this()优化&#xff1a; 这样可…

202412读书笔记|《做自己的花》——走自己的路,成为自己的星星

202412读书笔记|《做自己的花》——走自己的路&#xff0c;成为自己的星星 《做自己的花&#xff08;微信读书联合出品&#xff09;》作者月芽&#xff0c;一个用画画和诗讲故事的插画师、诗人。 画风治愈&#xff0c;故事感强&#xff0c;擅长在童话般的故事中描绘现实温暖的心…

js实现贪吃蛇

文章目录 实现方法_11实现效果2 实现步骤2.1 移动场地2.2 游戏难度2.3 造蛇和食物2.4 蛇的移动2.5 产生食物的随机位置 3 全部代码 实现方法_21 实现效果2实现想法2.1 蛇的存储和显示2.2 蛇的移动(重难点)2.3 吃食物 3 完整代码 实现方法_1 1实现效果 2 实现步骤 html部分忽略…

酒鬼酒2024年展望:稳发展动能,迈入恢复性增长轨道

文 | 琥珀酒研社 作者 | 渡过 最近几个月来&#xff0c;白酒估值回落到近十年来低位&#xff0c;反映出了整个白酒行业的市场低迷和虚弱现状。不管是头部企业五粮液、泸州老窖&#xff0c;还是区域酒企口子窖、金种子酒等&#xff0c;最近都通过“回购”或“增持”&#xff0…

python之组合数据类型-列表

列表操作 列表增删改查列表增加元素的方法列表删除元素的方法列表修改元素的方法列表查找元素的方法 列表其他常用方法列表的切片用法列表修改排序的方法列表的常用符号、常用函数 列表是什么&#xff1f; 列表是有序集合&#xff0c;列表可以一次性存储几个或几万个元素&#…

【安装指南】HBuilder X 下载、安装详细教程

目录 &#x1f33a;1. 概述 &#x1f33b;2. HBuilder X 安装包下载 &#x1f33c;3. 安装详细教程 &#x1f33a;1. 概述 HBuilder X 是一款由DCloud开发的基于Electron框架的集成开发环境&#xff08;IDE&#xff09;&#xff0c;主要用于Web和移动应用程序的开发。以下是…

表贴式PMSM的直接转矩控制(DTC)MATLAB仿真模型

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 模型简介 表贴式PMSM的直接转矩控制(DTC),直接使用滞环控制对转矩和磁链进行控制&#xff0c;相对于传统的FOC控制而言&#xff0c;其不需要进行解耦变换&#xff0c;在此次的有以下几点需要注意&#xff1a…

uniCloud ---- JQL语法 连表查询

目录 JQL数据库操作 JQL流程图解 JQL的限制 单表查询 联表查询 新增 修改 删除 联表查询 例子 字段过滤field 字段别名as 限制查询记录的条数limit 只查一条记录getone JQL数据库操作 JQL&#xff0c;全称 javascript query language&#xff0c;是一种js方式操…

Chapter 8 - 1. Congestion Management in TCP Storage Networks

This chapter covers the following topics. 本章包括以下主题。 Understanding congestion in TCP storage networks. Detecting congestion in TCP storage networks. Traffic patterns with iSCSI and NVMe/TCP and correlation with network congestion. Preventing co…

Linux——文本编辑器Vim

Linux中的所有内容以文件形式管理&#xff0c;在命令行下更改文件内容&#xff0c;常常会用到文本编辑器。我们首选的文本编辑器是Vim&#xff0c;它是一个基于文本界面的编辑工具&#xff0c;使用简单且功能强大&#xff0c;更重要的是&#xff0c;Vim是所有Linux发行版本的默…

【项目设计】仿muduo实现高性能服务器组件

尊敬的玩家您好 系统检查到您的主线任务进展缓慢 请您不要过度沉迷日常任务&#xff0c;尽快完成您的主线任务 请勿在npc身上浪费太多时间&#xff0c;避免影响玩家自身情绪 《地球Online》祝您游戏愉快 文章目录 一、实现目标1. 项目定位2. Reactor模式 二、前置知识1. C11的b…

【数据分析】numpy基础第一天

文章目录 前言本文代码&#xff1a;使用jupyter notebook打开本文的代码操作示例步骤1.打开Anaconda Powershell Prompt步骤2.复制代码文件地址步骤3.在Anaconda Powershell Prompt中打开jupyter notebook步骤3.5.解决一个可能的问题步骤4.在浏览器中查看ipynb文件步骤5.运行代…

【面试深度解析】哔哩哔哩后端面试:JDK 集合源码、线程状态及转换、Future和CompletableFuture、JVM生产命令(下)

欢迎关注公号&#xff08;通过文章导读关注&#xff1a;【11来了】&#xff09;&#xff0c;及时收到 AI 前沿项目工具及新技术的推送&#xff01; 文中所有相关面试资料可从公号领取 文章导读地址&#xff1a;点击查看文章导读&#xff01; 感谢你的关注&#xff01; 前言&…

Android创建工程

语言选择Java&#xff0c;我用的Java 最小SDK&#xff1a;就是开发的APP支持的最小安卓版本 Gradle 是一款Google 推出的基于 JVM、通用灵活的项目构建工具&#xff0c;支持 Maven&#xff0c;JCenter 多种第三方仓库;支持传递性依赖管理、废弃了繁杂的xml 文件&#xff0c;转而…

【JaveWeb教程】(32)SpringBootWeb案例之《智能学习辅助系统》的详细实现步骤与代码示例(5)文件上传的实现

目录 SpringBootWeb案例052. 文件上传2.1 简介2.2 本地存储 SpringBootWeb案例05 前面我们已经实现了员工信息的条件分页查询以及删除操作。 关于员工管理的功能&#xff0c;还有两个需要实现新增和修改员工。 本节的主要内容&#xff1a; 文件上传 2. 文件上传 在我们完成…

GMS测试BTSfail-CVE-2022-20451

描述&#xff1a; 项目需要过GMS兼容性测试&#xff0c;BTS这块我们环境没有&#xff0c;送检之后出现了一个BTS的Alert&#xff0c;这个是必须要解决的。下面的warning可以不考虑。 这个是patch问题&#xff0c;根据代理提供的pdf文件找到一个id:为A-235098883的补丁&#xf…

前缀和入门(c++语言)

在讲算法之前&#xff0c;我们先来思考一个问题&#xff1a;小明有n个编号为1~n的篮子&#xff0c;每个篮子里装有ai个苹果&#xff0c;求从 x至y 的篮子里的苹果数量之和。 如果没学过前缀和的同学&#xff0c;可能会打出这样的代码&#xff1a; 这种算法要得出一个区间之和&…