在项目中,有一条SQL出现这种情况:
1, 使用navicat测试查询时,查询到70条数据,其中有一些因为联表出现的重复数据
2, 使用代码正式查询时,myBatis映射的结果List中,会把重复的结果自动去除,返回的List中没有重复的数据(SQL中未使用去重关键字)
3, 经查询资料与多次试错得知: myBaits会将查询的字段id作为封装ResultMap的键,当查询的结果中存在id重复时,只取最后一条数据,而我的查询结果中确实存在id重复的数据,所以结果被去重了
4, 想要不去重,那就要保证查询的id存在唯一性,或者索性不查询id,大家可以根据实际情况进行尝试
YES !!