原因分析:
有<resultMap></resultMap>标签中多个同样的id字段名,查询时出现重复id,导致每个分表的id值跟主表一样,并且只有一条数据
解决方案:改用别名,避免冲突!具体看下面的例子:
改正之前:
<resultMap id="InvitationMap" type="com.fiveofteam.super_club.pojo.Invitation">
<id column="uu_id" jdbcType="VARCHAR" property="uuId"/>
<result column="invitation_title" jdbcType="VARCHAR" property="invitationTitle"/>
<result column="invitation_author_id" jdbcType="VARCHAR" property="invitationAuthorId"/>
<result column="invitation_content" jdbcType="VARCHAR" property="invitationContent"/>
<result column="invitation_status" jdbcType="INTEGER" property="invitationStatus"/>
<result column="invitation_access" jdbcType="INTEGER" property="invitationAccess"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<collection property="invitationTypeList" javaType="ArrayList" column="invitation_id"
ofType="com.fiveofteam.super_club.pojo.InvitationType">
<id column="uu_id" jdbcType="VARCHAR" property="uuId"/>
<result column="invitation_id" jdbcType="VARCHAR" property="invitationId"/>
<result column="invitation_type" jdbcType="VARCHAR" property="invitationType"/>
<result column="sort" jdbcType="INTEGER" property="sort"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
</collection>
<collection property="invitationPhotosList" javaType="ArrayList" column="invitation_id"
ofType="com.fiveofteam.super_club.pojo.InvitationPhotos">
<id column="uu_id" jdbcType="VARCHAR" property="uuId"/>
<result column="invitation_id" jdbcType="VARCHAR" property="invitationId"/>
<result column="url" jdbcType="VARCHAR" property="url"/>
<result column="sort" jdbcType="INTEGER" property="sort"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
</collection>
</resultMap>
改正之后:
<resultMap id="InvitationMap" type="com.fiveofteam.super_club.pojo.Invitation">
<id column="uu_id" jdbcType="VARCHAR" property="uuId"/>
<result column="invitation_title" jdbcType="VARCHAR" property="invitationTitle"/>
<result column="invitation_author_id" jdbcType="VARCHAR" property="invitationAuthorId"/>
<result column="invitation_content" jdbcType="VARCHAR" property="invitationContent"/>
<result column="invitation_status" jdbcType="INTEGER" property="invitationStatus"/>
<result column="invitation_access" jdbcType="INTEGER" property="invitationAccess"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<collection property="invitationTypeList" javaType="ArrayList" column="invitation_id"
ofType="com.fiveofteam.super_club.pojo.InvitationType">
<id column="typeId" jdbcType="VARCHAR" property="typeId"/>
<result column="invitation_id" jdbcType="VARCHAR" property="invitationId"/>
<result column="invitation_type" jdbcType="VARCHAR" property="invitationType"/>
<result column="sort" jdbcType="INTEGER" property="sort"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
</collection>
<collection property="invitationPhotosList" javaType="ArrayList" column="invitation_id"
ofType="com.fiveofteam.super_club.pojo.InvitationPhotos">
<id column="photosId" jdbcType="VARCHAR" property="photosId"/>
<result column="invitation_id" jdbcType="VARCHAR" property="invitationId"/>
<result column="url" jdbcType="VARCHAR" property="url"/>
<result column="sort" jdbcType="INTEGER" property="sort"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
</collection>
</resultMap>