Mybatis-collection错误去重问题

版权声明:欢迎转载,请注明作者和出处 https://blog.csdn.net/baichoufei90/article/details/88964822

Mybatis-collection错误去重问题

摘要

在使用mybatis时,集合标签<collection>是十分重要的,可以帮我们实现聚合功能。但是有个问题就是会对聚合到的数据进行自动去重,但我们有时候不想去重,本文说下我的解决方法。

0x01 搜搜搜

百度谷歌都搜了,一些人说将聚合字段写到column里,如下:

<collection property="uidlist" javaType="ArrayList" ofType="String" column="uid">
</collection>

但从运行结果来看,并不生效。

后来看到,stackoverflow一个老哥说了,mybatis collection设计的原则就是去重聚合,难道就没办法解决了吗?

0x02 换思路-对象聚合

将聚合目标字段+主键id字段封装为一个对象UID。如下:

<collection property="uidList" javaType="ArrayList" ofType="com.chengc.test.po.UID">
    <id property="id" column="id"/>
    <result property="uid" column="uid"/>
</collection>

然后改动下mapper文件,在service层里去对该对象按需求进行拆解即可。

猜你喜欢

转载自blog.csdn.net/baichoufei90/article/details/88964822