最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java批量插入數(shù)據(jù)的代碼實(shí)現(xiàn)

 更新時(shí)間:2024年01月04日 11:20:48   作者:一個(gè)正在努力的小白碼農(nóng)  
日常工作或者學(xué)習(xí)中,可能會(huì)遇到批量插入數(shù)據(jù)的需求,一般情況下數(shù)據(jù)量少的時(shí)候,我們會(huì)直接調(diào)用批量接口插入數(shù)據(jù)即可,當(dāng)數(shù)據(jù)量特別大時(shí),我們就會(huì)用到分批插入數(shù)據(jù),所以本文給大家介紹了Java批量插入數(shù)據(jù)的代碼實(shí)現(xiàn),需要的朋友可以參考下

前言

日常工作或者學(xué)習(xí)中,可能會(huì)遇到批量插入數(shù)據(jù)的需求,一般情況下數(shù)據(jù)量少的時(shí)候,我們會(huì)直接調(diào)用批量接口插入數(shù)據(jù)即可,當(dāng)數(shù)據(jù)量特別大時(shí),可能由于數(shù)據(jù)庫限制,插入的數(shù)據(jù)最多不能超過100條(假如限制100條),就算是數(shù)據(jù)庫支持一次性插入千條也會(huì)耗內(nèi)存,如果使用一條一條的插入數(shù)據(jù)庫中的話,會(huì)特別耗時(shí)間,大概是正常批量插入數(shù)據(jù)所耗時(shí)間的三倍,所以我們就會(huì)用到分批插入數(shù)據(jù)。

思路

  • 我們將數(shù)據(jù)查出,放到list里面,然后將數(shù)據(jù)循環(huán),每次循環(huán)到100條,就調(diào)用批量插入接口。

代碼實(shí)現(xiàn):

@Override
    public void selectData(String statisDate, String eventCode) {
        List<FilterLogEntity> filterLogEntity = filterlogMapper.selectData(statisDate, eventCode);
        //存儲(chǔ)插入數(shù)據(jù)(100條數(shù)據(jù))
        List<DataLog> dataLogList = new ArrayList<>();
        int nums = 100;
        for (int i = 0; i < filterLogEntity.size(); i++) {
            dataLogList.add(filterLogEntity.get(i));
            if (i > 0 && i % nums == 0 || i == filterLogEntity.size() - 1) {
                filterOraMapper.insertData(dataLogList);
                //每次插入完數(shù)據(jù),將上次存儲(chǔ)的100條數(shù)據(jù)清空
                dataLogList.clear();
            }
        }
    }

xml中sql,此處是給oracle數(shù)據(jù)庫中插入數(shù)據(jù)

<insert id="insertData">
		insert into 表名
		(
		a,
		b,
		c
		)
		<foreach collection="dataLogList" item="item" separator="UNION ALL">
			select
			#{item.a},
			#{item.b},
			#{item.c}
			from dual
		</foreach>
	</insert>

給其他數(shù)據(jù)庫插入數(shù)據(jù):

<insert id="insertList" parameterType="java.util.List">
		insert into 表名 (a,b,c)
		VALUES
		<foreach collection="dataLogList" index="index" item="item" separator="," >
			(
			#{item.a},
			#{item.b},
			#{item.c}
			)
		</foreach>
	</insert>

后續(xù)新增:

給oracle數(shù)據(jù)庫插入數(shù)據(jù),也可以用這種方法

begin
        <foreach collection="list" item="item" index="index">
            insert into masakr.TB_HUMAN_SOCIAL_SECURITY@LINK33
            (date_time, province, city, pr_name, pr_lingering_num, city_name, city_lingering_num,
            gender_name,gender_num)
            values(
            #{item.dateTime},
            #{item.province},
            #{item.city},
            #{item.prName},
            #{item.prLingeringNum},
            #{item.cityName},
            #{item.cityLingeringNum},
            #{item.genderName},
            #{item.genderNum}
            );
        </foreach>
        end;

以上就是Java批量插入數(shù)據(jù)的代碼實(shí)現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于Java批量插入數(shù)據(jù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • SpringBoot之Banner的使用示例

    SpringBoot之Banner的使用示例

    本篇文章主要介紹了SpringBoot之Banner的使用示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • SpringBoot自定義HttpMessageConverter操作

    SpringBoot自定義HttpMessageConverter操作

    這篇文章主要介紹了SpringBoot自定義HttpMessageConverter的操作,具有很好的參考價(jià)值,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • java 中數(shù)組初始化實(shí)例詳解

    java 中數(shù)組初始化實(shí)例詳解

    這篇文章主要介紹了 本文主要講數(shù)組的初始化方法、可變參數(shù)列表以及可變參數(shù)列表對(duì)函數(shù)重載的影響的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 最新評(píng)論

    临夏市| 灵武市| 双桥区| 全州县| 沐川县| 泰安市| 崇礼县| 红河县| 宜城市| 吐鲁番市| 大安市| 徐闻县| 方正县| 紫金县| 积石山| 南丰县| 渭南市| 瑞金市| 榆林市| 建水县| 宕昌县| 南涧| 全椒县| 崇州市| 京山县| 龙南县| 邵阳市| 阳新县| 南江县| 台东县| 遂昌县| 汪清县| 华坪县| 广南县| 台前县| 永德县| 民县| 郎溪县| 繁昌县| 博野县| 仲巴县|