Mybatis之取两张表中存在相同字段名

本文介绍在使用MyBatis进行多表关联查询时,如何处理相同字段名的冲突问题,通过为字段添加别名,成功从两张关联表中分别获取到所需的name字段值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.使用mybatis时候,经常涉及到多张表之间相互关联取其中的某些字段。
有时候可能要去两张表的某些字段名相同
下面两张表是通过第三张关联表相互关联的,这里就不展示
下面的两个表都有name的相同字段
在这里插入图片描述
在这里插入图片描述
如何取得两张表的两个name值呢?

 <resultMap id="BaseResultMap" type="cn.runlin.jetta.entity.JettaTask">
    <id column="task_id" jdbcType="INTEGER" property="taskId" />
    <result column="version_id" jdbcType="INTEGER" property="versionId" />
    <result column="project_id" jdbcType="INTEGER" property="projectId" />
    <result column="scope" jdbcType="BIT" property="scope" />
    <result column="sort" jdbcType="INTEGER" property="sort" />
    <result column="title" jdbcType="VARCHAR" property="title" />
    <result column="is_delete" jdbcType="BIT" property="isDelete" />
    <result column="add_time" jdbcType="TIMESTAMP" property="addTime" />
    <result column="up_time" jdbcType="TIMESTAMP" property="upTime" />
    <result column="name" jdbcType="VARCHAR" property="name" />
    <result column="projectName" jdbcType="VARCHAR" property="projectName" />
  </resultMap>

select 
   	task_id, jt.version_id, jt.project_id, scope, jt.sort,
   	 title, jt.is_delete, jt.add_time, jt.up_time, 
   	 //在相同表中一个加上别名projectName
   	 jv.name, jp.name projectName
    from jetta_task jt
    LEFT OUTER JOIN jetta_version jv
	ON jt.version_id=jv.version_id
	LEFT OUTER JOIN jetta_project jp
	ON jt.project_id=jp.project_id
	WHERE jt.is_delete=1

这样就解决了取相同字段冲突的问题了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微微笑再加油

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值