在mapper文件中的查询语句
SELECT
c.*
FROM
component_info c
LEFT JOIN sys_comp sc ON c.comp_id = sc.comp_id
LEFT JOIN system s ON s.sys_id = sc.sys_id
LEFT JOIN unit_system us ON s.sys_id = us.sys_id
LEFT JOIN unit u ON u.unit_id = us.unit_id
<where>
u.unit_id in
<foreach collection="collection" open="(" separator="," close=")" item="val">
#{val}
</foreach>
</where>
控制台查询语句
SELECT c.* FROM component_info c LEFT JOIN sys_comp sc ON c.comp_id = sc.comp_id LEFT JOIN system s ON s.sys_id = sc.sys_id LEFT JOIN unit_system us ON s.sys_id = us.sys_id LEFT JOIN unit u ON u.unit_id = us.unit_id WHERE u.unit_id in ( ? , ? )
查询结果
在数据库中的sql语句
上图显示了查询结果为39条
问题:可见数据库和mybatis中查询结果不一致
原因:连错了数据库,手动笑哭表情。两个数据库有相同的表字段,但是表数据不同,在mysql中sql语句查询的数据库和mybatis中查询的数据库不是同一个,所以查询结果自然不一致。