解决collection查询一对多分页条数不对问题

发布时间 2023-09-12 10:36:55作者: 種瓜得豆

错误问题:collection查询一对多分页统计数量是统计详情的条数

解决思路:collection分成两次查询

<resultMap id="resultMap" type="com.zgdd.business.vo.UserVO">
    <result column="id" property="id"/>
    <result column="create_time" property="createTime"/>
    <result column="update_time" property="updateTime"/>
    <result column="is_deleted" property="isDeleted"/>
    <result column="user_name" property="userName"/>
    <result column="pass_word" property="passWord"/>
    <result column="phone" property="phone"/>
    <result column="remarks" property="remarks"/>
    <result column="sign_time" property="signTime"/>

    <collection property="list" select="selectUserDetail" column="id" javaType="list" ofType="com.zgdd.business.vo.UserDetailVO">
        <id property="id" column="id"></id>
        <result column="user_id" property="userId"></result>
        <result column="detail_name" property="detailName"></result>
    </collection>

</resultMap>
<select id="selectUserPage" resultMap="resultMap">
    select * form user where is_deleted = 0
</select>
<select id="selectUserPage" resultType="com.zgdd.business.vo.UserDetailVO">
    select * form user_detail where is_deleted = 0 and user_id = #{id}
</select>