达梦数据库解决in参数2048限制

dao层接口

   @Override
   public List<ConsumerAlert> selectBenJiByIds(List<String> ids) {

       List<ConsumerAlert> updateList = new ArrayList<>();
       Integer size = ids.size();
       int max = 500;//限制条数
       //判断是否有必要查询
       if(max<size){
           int part = size/max;
           for (int i = 0; i < part; i++) {
               //分400条插入
               List<String> subIds = ids.subList(0,max);
               List<ConsumerAlert> consumerAlerts = consumerAlertMapper.selectBenJiByIds(subIds);
               updateList.addAll(consumerAlerts);
               subIds.clear();
           }
           List<ConsumerAlert> consumerAlerts = consumerAlertMapper.selectBenJiByIds(ids);
           updateList.addAll(consumerAlerts);
       }else{
           updateList = consumerAlertMapper.selectBenJiByIds(ids);
       }


       return updateList;
   }

mapper.xml

    <!--根据id 查有变动的本级告警-->
    <select id="selectBenJiByIds" >
        SELECT
           *
        FROM
           ta g
        left join ta2 dev on gaojing.deviceip=dev.ip 
        WHERE g.id IN
        <foreach collection="list" item="id" index="index" open="(" close=")" separator=",">
            #{id}
        </foreach>
    </select>
    ```
    
发布了206 篇原创文章 · 获赞 45 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/corleone_4ever/article/details/105493875
今日推荐