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.亲测有效

相关推荐
ZWZhangYu13 分钟前
【MyBatis源码】SqlSession执行Mapper过程
java·tomcat·mybatis
jiayouzhan28823 小时前
【SQL】mysql常用命令
数据库·sql·mysql·oracle·sql常用命令·mysql常用操作·sql基本操作
fa_lsyk9 小时前
Spring:bean的配置
java·后端·spring
bug修复机器人9 小时前
springBoot项目中,参数更改为配置文件
java·spring boot·spring
基哥的奋斗历程9 小时前
spring-cache concurrentHashMap 自定义过期时间
java·后端·spring
冰芒猓9 小时前
Spring中的Bean
java·spring·rpc
吴法刚10 小时前
SpringCloud Alibaba入门简介和Nacos服务注册和配置中心
后端·spring·spring cloud
渊渟岳10 小时前
超实用的SpringAOP实战之日志记录
spring·aop
moxiaoran575311 小时前
搭建Spring gateway网关微服务
spring·微服务·gateway
ChinaRainbowSea12 小时前
3. Spring Cloud Eureka 服务注册与发现(超详细说明及使用)
java·spring boot·后端·spring·spring cloud·eureka