mybatis 多对多对多 字段名一致问题解决

Mybatis关联查询(一对多,多对一) - liqiangbk - 博客园 

通过起别名的方式解决

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.angen.springboot_test2.mapper.CateDao">
    <resultMap id="gameList" type="com.angen.springboot_test2.pojo.GameBigcate">
        <id column="bid" property="id" />
        <result column="btitle" property="title"/>
        <result property="sort" column="bsort"/>
        <collection  property="games" resultMap="gameTwo" ofType="com.angen.springboot_test2.pojo.Game">
        </collection>
    </resultMap>
    <resultMap id="gameTwo" type="com.angen.springboot_test2.pojo.Game">
        <id property="id" column="gid"/>
        <result property="title" column="gtitle"/>

        <collection property="gamess" ofType="com.angen.springboot_test2.pojo.Game">
            <id property="id" column="zid"/>
            <result property="title" column="ztitle"/>
        </collection>
    </resultMap>
    <sql id="field">
        bigcate.id as bid,
        bigcate.title as btitle,
        bigcate.sort as bsort,
        game.id as gid,
        game.title as gtitle,
        game_z.id as zid,
        game_z.title as ztitle
    </sql>
    <select id="findAll" resultMap="gameList">
        select
            <include refid="field"></include>
        from dlq_game_bigcate bigcate
            left join dlq_game game on bigcate.id=game.bigcate_id
            left join dlq_game game_z on game.id=game_z.parent_id
    </select>
</mapper>
package com.angen.springboot_test2.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class GameBigcate implements Serializable {
    private Integer id;
    private String title;
    private Integer sort;

    private List<Game> games;
}
package com.angen.springboot_test2.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Game implements Serializable {
    private Integer id;
    private Integer bigcate_id;
    private String smallcate_id;
    private Integer parent_id;
    private String title;
    private String route;
    private String alias;
    private String logo;
    private Integer temperature;
    private String seo_title;
    private String seo_keywords;
    private String seo_description;
    private String content;
    private String url;
    private Integer ads_type;
    private Integer status;
    private String search;
    private String official_url;
    private String download_url;
    private String operators;
    private String developers;
    private String theme;
    private String platform;
    private String letter;
    private Integer is_new;
    private Integer info_cate_id;
    private Integer sort;

    private List<Game> gamess;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值