分批查詢?
創(chuàng)新互聯(lián)建站企業(yè)建站,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁設(shè)計(jì),有多年建站和網(wǎng)站代運(yùn)營經(jīng)驗(yàn),設(shè)計(jì)師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對(duì)于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動(dòng)的思維在網(wǎng)頁中充分展現(xiàn),通過對(duì)客戶行業(yè)精準(zhǔn)市場(chǎng)調(diào)研,為客戶提供的解決方案。
是分頁查詢吧。現(xiàn)在使用的數(shù)據(jù)中都有分頁的sql語句。
mysql的 select * from t_user limit 0,10
這樣就能查用戶表中的前十條數(shù)據(jù)了
import?java.util.ArrayList;??
import?java.util.List;??
public?class?FenDuan?{??
/**?
*?@param?args?
*/??
public?static?void?main(String[]?args)?{??
//1.總記錄數(shù)??
ListString?oldList?=?new?ArrayListString();??
for?(int?i?=?0;?i??1045;?i++)?{??
oldList.add((i+1)+"");??
}??
//2.分頁數(shù)據(jù)信息??
int?totalSize?=?oldList.size();?//總記錄數(shù)??
int?pageSize?=?10;?//每頁N條??
int?totalPage?=?totalSize/pageSize;?//共N頁??
if?(totalSize?%?pageSize?!=?0)?{????
totalPage?+=?1;????
if?(totalSize??pageSize)?{????
pageSize?=?oldList.size();???
}????
}????
System.out.println("循環(huán)保存的次數(shù):"+totalPage);//循環(huán)多少次????
for?(int?pageNum?=?1;?pageNum??totalPage+1;?pageNum++)?{??
int?starNum?=?(pageNum-1)*pageSize;??
int?endNum?=?pageNum*pageSizetotalSize?(totalSize):pageNum*pageSize;??
System.out.println("起始:"+starNum+"-"+endNum);??
String?str?=?"";??
for?(int?i?=?starNum;?i??endNum;?i++)?{??
str?+=?oldList.get(i)?+"???";??
}??
System.out.println("第"+pageNum+"批:"?+str);??
}??
}??
}
這個(gè)只是一個(gè)思路
public?class?test{
public?static?void?main(String[]?args)?{
ListString?aa?=?new?ArrayListString();
for?(int?i?=?1;?i?=?520;?i++)?{
aa.add(i+"");
}
double?num=0;//一共讀幾次,頁碼
if(0!=aa.size()){
double?a=aa.size();
double?b=50;
num=Math.ceil(a/b);//讀取次數(shù)(一共幾頁),小數(shù)?進(jìn)?1
}
for?(int?i?=?0;?i?=num;?i++)?{
int?n?=i*50;//每次開始讀取的下標(biāo)
String?tex="";
if(i+1num){??//i+1?代表?(下一頁)
tex+=aa.subList(n,?n+50);
}else?if(i+1==num){//當(dāng)??位于最后一頁時(shí),計(jì)算要讀多少個(gè)數(shù)(?aa.size()-i*50)
tex+=aa.subList(n,?n+aa.size()-i*50);
}
System.out.println(tex);
}
}
}
寫了一個(gè)例子,沒做優(yōu)化,可以看看 方法,僅供參考;
讀取數(shù)據(jù)估計(jì)是沒辦法了,重點(diǎn)可以放在寫入的操作上,粗略的認(rèn)為,你使用框架進(jìn)行數(shù)據(jù)庫寫入操作還不如用使用java原生的jdbc進(jìn)行操作然后使用jdbc 的原生的批處理,我覺得肯定比框架快。我記得我當(dāng)時(shí)插入10w條數(shù)據(jù),只用了3秒,不過用的是oracle數(shù)據(jù)庫。進(jìn)行邊讀取邊插入,這樣占用的內(nèi)存也相對(duì)小一些
你這問題太大了
HSSFWorkbook 是導(dǎo)出excel的工具,可是實(shí)現(xiàn)導(dǎo)出excel控制條數(shù)
//開始打印
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet=wb.createSheet("sheet1");
HSSFRow row = sheet.createRow(0);
//設(shè)置第一行標(biāo)題
HSSFCell cell;
JobColumn jobColumn = null;
int colsAddSize = NewmasterstudentAction.COLS4EXPORT_CODE.length;
for(int i=0 ; icolsAddSize ; i++){
cell = row.createCell((short)i);
cell.setCellValue(NewmasterstudentAction.COLS4EXPORT_CODE[i]+"("+NewmasterstudentAction.COLS4EXPORT_NAME[i]+")");
}
for(int i=0;ijobList.size();i++){
UserJobColumn userJob = jobList.get(i);
jobColumn = userJob.getJobColumn();
cell = row.createCell((short)(i+colsAddSize));
cell.setCellValue(jobColumn.getColumnCode()+"("+jobColumn.getColumnName()+")"); //字段代碼
}
//打印記錄
SetEntryString,ListJobRecord entrySet = des.entrySet();
IteratorEntryString, ListJobRecord it = entrySet.iterator();
int index = 1;
while(it.hasNext()){
EntryString, ListJobRecord en = it.next();
row = sheet.createRow(index++);
String xh = en.getKey();
//打印學(xué)生信息
cell = row.createCell((short)0);
cell.setCellValue(xh);
NewMasterStudent stu = studentMap.get(xh);
if(stu != null){
cell = row.createCell((short)1);
cell.setCellValue(stu.getYbd() ? "是" : "否");
cell = row.createCell((short)2);
cell.setCellValue(stu.getRemark() == null ? "" : stu.getRemark());
}
//打印記錄
ListJobRecord records = en.getValue();
for(int i=0 ; i jobList.size() ; i++){
cell = row.createCell((short)(i+colsAddSize));
UserJobColumn g = jobList.get(i);
JobRecord record = null;
if(i records.size()){
record = records.get(i);
if(!g.getJobColumn().getId().equals(record.getJobColumn().getId())){
record = new JobRecord();
record.setJobColumn(g.getJobColumn());
records.add(i, record);
}
}else{
record = new JobRecord();
record.setJobColumn(g.getJobColumn());
records.add(i, record);
}
if(Constant.NS_JOBCOLUMN_TYPE_INPUT.equals(record.getJobColumn().getColumnType())){
cell.setCellValue(record.getEditLr());
}else if(Constant.NS_JOBCOLUMN_TYPE_SELECT.equals(record.getJobColumn().getColumnType())){
cell.setCellValue(record.isEditState() ? "是":"否");
}else if(Constant.NS_JOBCOLUMN_TYPE_OPTION.equals(record.getJobColumn().getColumnType())){
SyGeneralCode select = record.getSelectedValue();
if(select != null){
cell.setCellValue(select.getCode()+" | "+select.getCnName());
}
}
}
}
ZipEntry 可以實(shí)現(xiàn)導(dǎo)出zip文件
if (files[i].exists() !files[i].isDirectory()) {
String zjhmImg = files[i].getName();
if (zjhmMap.get(zjhmImg) != null) {
num++;
FileInputStream fi = new FileInputStream(files[i]);
origin = new BufferedInputStream(fi, BUFFER);
ZipEntry entry = new ZipEntry(files[i].getName());
out.putNextEntry(entry);
int count;
while ((count = origin.read(data, 0, BUFFER)) != -1) {
out.write(data, 0, count);
}
out.setEncoding("GBK");
origin.close();
分享名稱:java分批代碼,java代碼分層
分享路徑:http://www.muchs.cn/article28/hcpjjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、企業(yè)建站、全網(wǎng)營銷推廣、云服務(wù)器、網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)