MyBatis两张表字段名相同产生的问题

结论: 通过设置别名的方式让其产生区别

<select id="queryBySekillId" resultMap="successKilled">

		select 
			sk.seckill_id  "seckill_id",
			sk.user_phone  "user_phone",
			sk.state  "state",
			sk.create_time  "create_time",
			s.seckill_id  "seckill_id",
			s.name  "name",
			s.number  "number",
			s.start_time  "start_time",
			s.end_time  "end_time",
			s.create_time  "screate_time"
		from success_killed sk
		inner join seckill s
		on sk.seckill_id = s.seckill_id
		where sk.seckill_id = #{seckill_id} ;

</select>

以上 success_killed表和seckill表中有相同字段 create_time (id字段其实确实是相同的故在此忽略),通过将表seckill的create_time字段命名为screate_time用以区别。

<resultMap type="Seckill" id="seckill">
		<id column="seckill_id"  property="seckill_id"/>
		<result column="name" property="name"/>
		<result column="number" property="number"/>
		<result column="start_time" property="start_time" />
		<result column="end_time"  property="end_time"/>
		<result column="screate_time"  property="create_time" />	
</resultMap>
	

同时将 resultMap中该段的 column 属性该为 screate_time.故只要让查询出的字段名与column相同,它会通过映射找到相应属性进行封装。

转载于:https://www.cnblogs.com/hupi/p/5656742.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值