Mybatis batch模式批量执行(插入)
@Autowired
private SqlSessionFactory sqlSessionFactory;
//通过Mybatis batch模式批量插入群组人员
//开启BATCH批量模式
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
TIdReGroupUserMapper tIdReGroupUserMapper = sqlSession.getMapper(TIdReGroupUserMapper.class);
int addNum = 0;
try {
TIdReGroupUser tIdReGroupUser = new TIdReGroupUser();
for (int i = 0; i < userIds.length; i++) {
tIdReGroupUser.setId(UUID.randomUUID().toString());
tIdReGroupUser.setGroupId(groupId);
tIdReGroupUser.setUserId(userIds[i]);
addNum += tIdReGroupUserMapper.insert(tIdReGroupUser);
}
sqlSession.commit();
}finally {
closeSqlSession(sqlSession, sqlSessionFactory);
}
可以通过增加一个计数来达到每多少次时开始commit
/**
* 每多少次时开始commit
*/
private static final int batchCountToSubmit = 100;
//计数
int batchLastIndexToSubmit = 0;
放在for循环里,到达总数就提交,记得最后也提交一次
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端