mysql一对多关联查询分页错误解决

xml问价中查询数据中包含list,需要使用collection

<resultMap id="XX" type="com.XXX.XXXX">
        <id column="o_id" jdbcType="BIGINT" property="id" />
        <result column="o_user_id" jdbcType="BIGINT" property="userId" />
        ....
        <collection property="orderProductList" ofType="com.XXXXXX.XXXXX">
            <id column="p_id" jdbcType="BIGINT" property="id" />
            <result column="p_order_id" jdbcType="BIGINT" property="orderId" />
            ....
        </collection>
    </resultMap>

这样的查询系统封装的通用分页查询是不对的,所以需要自己sql中加入分页解决

<select id="XXX" resultMap="OrderListMap">
        SELECT
        you.nick_name,
        yo.id o_id,
        yo.user_id o_user_id
        FROM
        (
        SELECT * FROM
        youpin_order
        WHERE
        1 = 1
        <if test="status != null">
            and `status` = #{status}
        </if>
        <if test="page != null and limit != null">
        LIMIT #{page},
        #{limit}
        </if>
        ) yo
        LEFT JOIN XXX yop ON yo.id = yop.order_id
        LEFT JOIN XXXX you ON yo.user_id = you.id
    </select>

传入参数的时候需要计算

(offset - 1) * limit, limit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值