解决mybatis中字段重名的问题尝试和总结

本文介绍了在MyBatis中解决多表查询时字段重名问题的方法,包括为列取别名并修改映射文件,以及如何验证查询结果正确性。

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

1.多表查询时,当列id重名时,mybatis会默认使用查询出的第一个id列(另一个列被覆盖),为了区分同名的列,给列取一个别名。取完别名后找到对应的colume中也要做出修改。
查询时给列取别名(多表查询):
SELECT u.*,o.id as oid,CODE,total,user_id
FROM tb_order o,tb_user u
WHERE o.user_id = u.id
AND o.id = #{id}
映射的column也要对应查询时的别名:

<id property="id" column="oid" />
<result property="code" column="code" />
<result property="total" column="total" />

2.当对查询出来的数据有疑惑时,可以复制sql语句到navicat中查询,与真正的结果比较,因为mybatis的查询机制可能会不同,除非自己封装框架。以后遇到sql语句问题也一样。
3.还有的就是如果在配置文件中(xml,properties)eclipse给出了拼写警告可能会影响程序正常执行。可通过在eclipse下的Window–Preference输入spell,然后把第一个复选框“Enable spell checking“给去掉就可以了。

以上就是我在解决mybatis中字段重名的问题过程中的尝试和总结。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值