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
总结
相关推荐
CoderToy 2020-11-16
emmm00 2020-11-17
王艺强 2020-11-17
ribavnu 2020-11-16
bianruifeng 2020-11-16
wangshuangbao 2020-11-13
苏康申 2020-11-13
vivenwan 2020-11-13
moyekongling 2020-11-13
云中舞步 2020-11-12
要啥自行车一把梭 2020-11-12
aydh 2020-11-12
kuwoyinlehe 2020-11-12
minerk 2020-11-12
vitasfly 2020-11-12
jazywoo在路上 2020-11-11
敏敏张 2020-11-11
世樹 2020-11-11