Java分批次导入数据_java数据分批插入

数据库批量插入语句:

INSERT INTO smart_message (

)values

(

#{obj.id,jdbcType=VARCHAR},

#{obj.createId,jdbcType=VARCHAR},

#{obj.receiveId,jdbcType=VARCHAR},

#{obj.groupId,jdbcType=VARCHAR},

#{obj.msgType,jdbcType=VARCHAR},

#{obj.msgApp,jdbcType=VARCHAR},

#{obj.msgGroupId,jdbcType=VARCHAR},

#{obj.createTime,jdbcType=TIMESTAMP},

#{obj.msgState,jdbcType=VARCHAR},

#{obj.contentType,jdbcType=VARCHAR},

#{obj.content,jdbcType=VARCHAR},

#{obj.deleted,jdbcType=VARCHAR}

)

java代码:

public void batchSaveSmartMessage(List list) throws Exception {

//数据总数

int count = list.size();

//每次插入条数

int batchCount = 500;

int ex = (count % batchCount) == 0 ? count / batchCount : (count / batchCount + 1);

for (int i = 0; i < ex; i++) {

int limit = count > batchCount ? (i * batchCount + batchCount) : count;

limit = i > 0 && limit <= batchCount ? i*batchCount + limit : limit;

//再此处进行数据库操作

objectMapper.batchInsertImChatMessage(list.subList(i*batchCount, limit));

count = count - batchCount;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值