在mybatis的是使用中发现的问题:

原因一:意思就是不能够包含有Product实体类的属性值,原因是因为在我做映射的时候,少了一个Product的id值。因为他是一个连表查询,所以只能有一个id‘值’,导致我把Product的值给省略了。
解决办法:
将每一个要查询出来的属性值,一一罗列出来:
SELECT mc.add_time, mc.cart_id, mc.pro_id, mc.pro_number, mc.user_id, mp.category, mp.features, mp.img_path, mp.introduction, mp.price, mp.product_name, mp.sell_quantity, mp.total FROM m_cart mc LEFT JOIN m_product mp ON mc.pro_id = mp.id WHERE mc.user_id = #{id}
原因二:
mybatis的resultMap=类型 这个类型写错了
在sql文件中只要有一个resultMap或resultType属性指向错误,则在这个文件中其余正确的语句也不能执行,
所以在出现上述错误时,可能不是当前正在执行的语句的错误,而是该文件中其它语句映射错了
认真检查其它语句。
即可。
本文探讨了在使用MyBatis进行连表查询时遇到的两个常见问题:一是忽略实体类的关键属性,如ID,导致查询失败;二是resultMap类型配置错误,影响整个文件的SQL语句执行。通过详细解释问题原因并提供具体解决方案,帮助开发者避免和解决此类问题。
1498

被折叠的 条评论
为什么被折叠?



