java-maven-mybatis大数据量批量导入sqlserver

这篇博客介绍了一种解决大数据量导入SQLServer时,因参数过多导致的问题。通过生成文件并利用数据库自身的备份恢复机制,实现了高效的数据导入。涉及技术栈包括Spring Boot、Maven、MyBatis和SQLServer。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次在提供一个关于解决批量导入由于数据量过多,会报出参数过多,我们应该清楚一个问题,sqlserver导入数据时,允许的最大sql长度是3000个字符,但当我们数据过多,及时是使用batch结合事务处理已然会爆掉,实际上我们还可以用另一种方式,将文件生成到数据库所在的服务器上,然后通过数据库本身的备份恢复机制将数据导入到db中,下面是具体操作代码

环境:spring boot-maven-mybatis-sqlserver-tomcat

一、在service实现中创建含有导入数据的文件

@Service
public class DemoServiceImpl extends ServiceImpl<DemoMapper, Demo> implements DemoService {
	
	@Resource
	private DemoMapper dmapper;
	
	@Override
	public void insertDemo(List<Demo> demoList) throws Exception {
		if(ToolUtil.isNotEmpty(demoList)) {
			try{
				//生成存储过程TXT start
				Demo demo = new Demo();
				Demo testDemo = null;
				String filename = "D:/"+demoList.get(0).getFileId()+"demoFileName.txt";
				File newFile = new File(filename);
				StringBuffer sb = new StringBuffer();
				for(int i=0;i<demoList.size();i++){
					testDemo = demoList.get(i);
					ToolUtil.copyProperties(testDemo, demo);
					sb.append(StringUtil.null2String(demo.filed1())).append(",");
					sb.append(Stri
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值