作者:cecillalurw_689 | 来源:互联网 | 2023-09-17 13:54
mybatis会根据<id>标签去重,在sql查询语句中也要加上id字段查询。如果没有在resultmap中加上&a
mybatis会根据标签去重,在sql查询语句中也要加上id字段查询。
如果没有在resultmap中加上标签,或者sql查询语句不加上id字段,则可能会出现去重现象(如SQL语句查询出来10条结果,但实际映射到接口如List
MyBatis的ResultMap默认是把id作为map的主键。
当id相同时,不管其他字段相不相同,它都当作相同的记录。那当我们想要MyBatis不去重,怎么操作呢?在POJO定义中加入一个伪id作为一标识即可
private int rowNo; //在POJO添加
//resultMap 中添加
SQL:
select @rowNo:[email protected]+1 as rowNo,menu.icon,menu.menuname,menu.url from (SELECT @rownum:=0) a,menu