java分批代碼,java代碼分層

如何在java代碼中實(shí)現(xiàn)分批查詢

分批查詢?

創(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ù)了

java 數(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è)思路

java list 批量操作?

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)化,可以看看 方法,僅供參考;

java大數(shù)據(jù)量分批處理怎么實(shí)現(xiàn)

讀取數(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ì)小一些

java :怎么實(shí)現(xiàn)分批次導(dǎo)出excel的條數(shù)限制,每次導(dǎo)出的excel壓縮成zip,并且導(dǎo)出時(shí)給用戶添加友好提示?

你這問題太大了

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)

搜索引擎優(yōu)化