欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql一对多关联查询分页错误问题的解决方法

程序员文章站 2022-05-02 23:13:51
xml问价中查询数据中包含list,需要使用collection ...

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

总结

以上所述是小编给大家介绍的mysql一对多关联查询分页错误问题的解决方法,希望对大家有所帮助