mysql 文件下数_【SpringBoot】整体下载大文件与分批下载大文件(利用MySql数据库的Limit实现)...

packagecom.hy.csvdld.util;importjava.io.File;importjava.io.FileWriter;importjava.io.IOException;importjava.util.List;importorg.apache.log4j.Logger;importcom.hy.csvdld.Entity.Emp;importcom.hy.csvdld.service.EmpService;//用于生成CSV文件

public classCsvMaker {private static Logger log = Logger.getLogger(CsvMaker.class);public voidmakeTenCsv(File file, EmpService empService) {try{

List emps =empService.selectTenEmp();

FileWriter fileWriter= new FileWriter(file, true);int index = 0;for(Emp emp:emps) {

index++;

String info=""+index+","+ emp.asCsvLine()+ System.getProperty("line.separator");

fileWriter.write(info);

}

fileWriter.flush();

fileWriter.close();

}catch(IOException e) {

e.printStackTrace();

}

}

// 整体下载方案public void makeManyCsv(File file, EmpService empService,intcount) {try{

List emps =empService.selectMany(count);

FileWriter fileWriter= new FileWriter(file, true);int index = 0;for(Emp emp:emps) {

index++;

String info=""+index+","+ emp.asCsvLine()+ System.getProperty("line.separator");

fileWriter.write(info);

}

fileWriter.flush();

fileWriter.close();

}catch(IOException e) {

e.printStackTrace();

}

}//当count过大时,分批下载

public void makePartialCsv(File file, EmpService empService,intcount) {try{int PartialSize=10000;int times=count/PartialSize;for(int i=0;i

log.info("第"+i+"批次处理");

FileWriter fileWriter= new FileWriter(file, true);

List emps = empService.selectPartial(i*PartialSize, PartialSize);int index = i*PartialSize;for(Emp emp:emps) {

index++;

String info=""+index+","+ emp.asCsvLine()+ System.getProperty("line.separator");

fileWriter.write(info);

}

fileWriter.flush();

fileWriter.close();

}

}catch(IOException e) {

e.printStackTrace();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值