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

1.映射写法如下

java 复制代码
@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如下:

java 复制代码
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.映射的对象如下

java 复制代码
@Data
public class ResGroupBindRes {

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

    /* 资源 */
    private Res res;

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

    /* 组id */
    private String groupId;
}

4.亲测有效

相关推荐
@听风吟2 小时前
力扣之182.查找重复的电子邮箱
大数据·javascript·数据库·sql·leetcode
小纯洁w3 小时前
MySQL 中优化 SQL 语句以提高查询性能
数据库·sql·mysql
xiaomiphone93 小时前
【PostgreSQL教程】PostgreSQL详细介绍
数据库·sql·mysql·postgresql·oracle
拉玛干3 小时前
社团周报系统可行性研究-web后端框架对比-springboot,django,gin
数据库·python·spring·golang
coffee_baby4 小时前
享元模式详解:解锁高效资源管理的终极武器
java·spring boot·mybatis·享元模式
程序员大金6 小时前
基于SSM+Vue+MySQL的酒店管理系统
前端·vue.js·后端·mysql·spring·tomcat·mybatis
努力的布布6 小时前
Spring源码-从源码层面讲解声明式事务的运行流程
java·spring
Kk.6166 小时前
SQL编程题复习(24/9/20)
数据库·sql·pta考试·专本贯通
程序员大金6 小时前
基于SpringBoot的旅游管理系统
java·vue.js·spring boot·后端·mysql·spring·旅游
2401_864476936 小时前
无线领夹麦克风哪个降噪好?一文搞懂麦克风什么牌子的音质效果好
javascript·git·sql·github·mssql