mybatis 一對多分頁查詢數據條數不匹配解決


mysql find_in_set

原因

在項目中,使用mybatis做一對多關聯,出現數據條數不匹配的情況,比如要查詢10條,由於一對多的關系導致最終得到的數據條數變少。

解決方案(1)

<select id="list" parameterType="emro.vo.resource.ResourceConfigDetailSearchVo" resultMap="resourceConfigDetails">
    SELECT
      detail.id id,
      detail.activity_name activityName,
      detail.main_title mainTitle,
      detail.main_title_spec mainTitleSpec,
      detail.sub_title subTitle,
      detail.desc_copy descCopy,
      detail.order_sn orderSn,
      detail.start_time startTime,
      detail.end_time endTime,
      detail.enable enable,
      detail.user_tag userTag,
      detail.pic_num picNum,
      detail.tag tag,
      detail.terminal_type terminalType,
      detail.pop_rate popRate,
      detail.status status,
      detail.create_name createName,
      detail.create_time createTime,
      detail.update_name updateName,
      detail.update_time updateTime,
      item.detail_id detailId,
      item.pc_image pcImage,
      item.pc_jump_url pcJumpUrl,
      item.background_color backgroundColor,
      item.mobile_image mobileImage,
      item.app_jump_url appJumpUrl,
      item.mp_jump_url mpJumpUrl
    FROM
    resource_config_detail detail
    LEFT JOIN resource_config_detail_item item ON detail.id = item.detail_id
    WHERE
    detail.id IN (IFNULL((SELECT temp.id
    FROM (SELECT config_detail.id FROM
    resource_config_detail config_detail
    where config_detail.status='1'
    <include refid="queryTerm"/>
    ORDER BY config_detail.order_sn DESC,config_detail.end_time DESC
    limit #{page},#{rows}) AS temp),''))
  </select>

解決方案(二)

 <id property="id" column="id"/>
 
<collection property="items"    ofType="com.test..domain.BookDetail"
                   column="id" select="com.test.dao.BookDetailDao.getCheckItemInfo"/>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM