インタフェースMyBatisのバッチクエリの実装のパフォーマンスの最適化、データベースクエリの消費量を削減

    <SELECT ID = "selectByTime" resultTypeと= "com.neo.xnol.api.activity.dto.ActivityMqmsgDTO"> 
        SELECT 
            ID、
            eventTypeを、
            イベントID、
            userIdを、
            ユーザ名、
            コンテンツ、
            msgStatus、
            retryCount値、
            errorDetails、
            CREATETIME、
            updateTime、
            msgVersion、
            sysVersion 
        FROM 
            t_activity_mqmsg 
        WHERE 
            のuserId = #{にuserId} 
        AND 
            のeventType IN
            <foreachのコレクション= "eventTypeList"インデックス= "インデックス"項目= "項目"オープン= "("セパレータ= ""クローズ= ")"> 
                  #{項目}
            </ foreachの> 
        AND 
            CREATETIME&GT; =#{BEGINTIME} 
        AND 
            CREATETIME&LT; =#{endTimeは} 
        BY ORDER 
            CREATETIME
     </選択>

 

    <選択し、ID = "findActivityInfoListByCategoryId"このresultMap = "BaseResultMap"> 
        SELECT * 
        t_activity_info FROM 
        WHERE 
        でa.categoryId 
        <foreachのコレクション= "リスト"項目= "区分"オープン= "("クローズ= ")" 
            セパレータ= ""> 
            #{区分} 
        </ foreachの> 
        とa.isDelete = 0 
        とa.`endTime` > 今()
         < もしテスト= "organizationId!= nullをしてorganizationId!= 3"> 
            とa.organizationId =#{organizationId、
        a.createTime DESC BY ORDER
     </ select>の

 

  <SELECT ID = "selectOneByRewardType"このresultMap = "BaseResultMap"> 
    Wを選択します。*  
      wはt_lucky_winningから
     内側t_lucky_activity Aの参加
        w.luckyIdに = a.luckyIdとa.activityId =#{のActivityID、jdbcType = INTEGER} 
     インナーw.rewardId上のR t_lucky_reward参加 = r.id 
     r.rewardId(IN 
     <foreachのコレクションを= "rewardIds"項目= "rewardId"セパレータ= ""> 
         #{rewardId、jdbcType = INTEGER} 
     </ foreachの>  
     w.luckytimeの降順によって順
     限度 1 
  </選択>

 

おすすめ

転載: www.cnblogs.com/qmfsun/p/11002258.html