首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

iBatis中RowHandler处置大数据量的导出

2012-06-27 
iBatis中RowHandler处理大数据量的导出背景:一次性导出几十万条数据到excel,此时的导出效率会严重损失。解

iBatis中RowHandler处理大数据量的导出

背景:一次性导出几十万条数据到excel,此时的导出效率会严重损失。

解决方法: 用ibatis中的RowHandler,一次只处理一条数据,内存中只保持一条数据,导出时每5万条创建一个sheet

具体实现方法:

MyRowHandler处理类:

public String execute(){String fileName="F:\\05-JAVA\\测试.xls";HSSFWorkbook wb = new HSSFWorkbook();MyRowHandler handler = new MyRowHandler();handler.setWb(wb);DaoFactory.getIbatisDao().getSqlMapClientTemplate().queryWithRowHandler("term.base", handler);wb = handler.getWb();OutputStream os = null;try {os = new FileOutputStream(fileName);wb.write(os);}catch(Exception e){}finally{try {os.close();} catch (IOException e) {e.printStackTrace();} }            ?return "success";}

热点排行