最新国产好看的视频,伊人天堂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ù)庫(kù)限制,插入的數(shù)據(jù)最多不能超過(guò)100條(假如限制100條),就算是數(shù)據(jù)庫(kù)支持一次性插入千條也會(huì)耗內(nèi)存,如果使用一條一條的插入數(shù)據(jù)庫(kù)中的話,會(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ù)庫(kù)中插入數(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ù)庫(kù)插入數(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ù)庫(kù)插入數(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的使用示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    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)論

    车险| 株洲县| 四子王旗| 平南县| 深水埗区| 永昌县| 万年县| 海口市| 河间市| 湾仔区| 都匀市| 安康市| 石门县| 馆陶县| 化德县| 都昌县| 宁蒗| 万宁市| 尖扎县| 光泽县| 南郑县| 绥化市| 博爱县| 双流县| 麻阳| 广昌县| 祁阳县| 民权县| 兴业县| 灯塔市| 铁力市| 南充市| 昔阳县| 新晃| 桐城市| 夏津县| 托克托县| 西林县| 康乐县| 衡水市| 津市市|