- 浏览: 448959 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
csdn_lichao:
[flash=200,200][flash=200,200][ ...
MySql数据分区操作,新增分区 -
xtxycy:
的确有一楼说这个问题,有一定几率出现重复卖的情况
Java中有两种实现多线程的方式以及两种方式之间的区别 -
superhotdong:
class ThreadTest implements Run ...
Java中有两种实现多线程的方式以及两种方式之间的区别 -
yuelangyc:
beming 写道时间过去有点长,想请教一个问题,如果我只想批 ...
Mysql中批量更新的几种方式 -
beming:
时间过去有点长,想请教一个问题,如果我只想批量更新,不插入有没 ...
Mysql中批量更新的几种方式
看标题感觉像是两个完全不同的东西,为什么要写到一起呢,虽然说功能流程来说完全不同,但是所用的技术好像是可以互通的。
先说导出,导出也有几种情况,导出CSV和导出excel,导出excel以前写过,这里只贴出地址,
http://yuelangyc.iteye.com/admin/blogs/1097336。导出格式为CSV的其实也很简单,
可以用单纯的IO操作完成, 然后拼接成固定格式,再进行处理写入文件即可,
CSV是一种以逗号分割的文本文件。也是一种常用的导出格式,可以用Excel工具打开。
下面贴出自己写的简单的代码:
导出的数据格式是固定的,所以也就有利于后面的导入数据恢复。
如果是B/S的导出,类似下载那种的,可以将List<String []>拼凑好格式后放进response中,然后响应给客户,让客户进行文件保存操作。
js中发送导出请求时直接document.location.href=url+"export.action?param=param"即可。
数据库一键备份还有一种实现方式,我只在window XP上测试过,可以使用的,linux上不知道是不是可行。
直接贴代码吧。
以上代码仅供参考。如商用,出问题后果自负。
先说导出,导出也有几种情况,导出CSV和导出excel,导出excel以前写过,这里只贴出地址,
http://yuelangyc.iteye.com/admin/blogs/1097336。导出格式为CSV的其实也很简单,
可以用单纯的IO操作完成, 然后拼接成固定格式,再进行处理写入文件即可,
CSV是一种以逗号分割的文本文件。也是一种常用的导出格式,可以用Excel工具打开。
下面贴出自己写的简单的代码:
/** * List导出为csv格式 * @param arrayList * @param file 已经创建好的file文件 * @throws Exception */ private void exportFile(List<String[]> arrayList,File file) throws Exception{ OutputStream out = new FileOutputStream(file,true); for(String [] arr:arrayList){ for(int i = 0 ; i < arr.length ; i ++){ out.write(arr[i]==null?"".getBytes():arr[i].getBytes()); if(i<arr.length-1)out.write(",".getBytes()); } out.write('\r'); // \r\n表示换行 out.write('\n'); } out.close(); }
导出的数据格式是固定的,所以也就有利于后面的导入数据恢复。
如果是B/S的导出,类似下载那种的,可以将List<String []>拼凑好格式后放进response中,然后响应给客户,让客户进行文件保存操作。
public static void ExportCsv(String fileName,List<String[]> list,HttpServletResponse response){ PrintWriter out = null; CSVWriter writer = null; List<String[]> lines = new ArrayList<String[]>(); lines.addAll(list); try{ response.setHeader("Content-Disposition", "attachment; filename=\"" + new String(fileName.getBytes("gb2312"), "iso8859-1") + ".csv" + "\""); response.setCharacterEncoding("Gb2312"); response.setContentType("text/plain;charset=Gb2312"); out = response.getWriter(); writer = new CSVWriter(out); writer.writeAll(lines); writer.flush(); }catch (IOException e){ error_logger.error("CsvExport.ExportCsv() error!",e); } catch (Exception e){ error_logger.error("CsvExport.ExportCsv() error!",e); }finally{ try{ writer.close(); out.close(); }catch(Exception ex){} } }
js中发送导出请求时直接document.location.href=url+"export.action?param=param"即可。
数据库一键备份还有一种实现方式,我只在window XP上测试过,可以使用的,linux上不知道是不是可行。
直接贴代码吧。
/* * 一键备份指定表 * @deprecated * @return */ public String backupTable_old(){ //存放备份文件的路径 String backup_path = getProps("backup_file_path"); //配置文件中获取数据库连接信息 String user_name = getProps("user_name"); String user_psw = getProps("user_psw"); String db_name = getProps("db_name"); String host_ip = getProps("host_ip"); //获取文件保存备份路径,如果不存在,则先创建目录 String saveFileDir=backup_path + ab + "/"; File dir=new File(saveFileDir); if(!dir.exists())dir.mkdirs(); backup_path = saveFileDir + "backup_"+ab+"_"+dataFormat.format(new Date())+".sql"; //需要备份的表,目前为已定义好的表 String tableClass = TB_CLASS + ab; String tableClassUser = TB_CLASS_USER + ab; String black = " "; String allTable = black + tableClass + black + tableClassUser; StringBuffer sb = new StringBuffer(); //拼接字符串,mysqldump命令。 sb.append("mysqldump").append(" -h ").append(host_ip).append(" -u ").append(user_name) .append(" -p").append(user_psw).append(black).append(db_name).append(" --add-drop-table") .append(" -t ").append(allTable).append(" --result-file=").append(backup_path); String dumpSQL = sb.toString(); System.out.println(dumpSQL); try { Runtime.getRuntime().exec(dumpSQL); //保存备份记录 backup cb = backupService.insert(ab, allTable, backup_path, userid, dumpSQL); if(cb == null){ System.out.println("ERROR ========================= backupTable"); } } catch (IOException e) { message="数据备份时发生异常中!"; e.printStackTrace(); return SUCCESS; } message = "数据已导出到文件" + backup_path + "中"; return SUCCESS; }
以上代码仅供参考。如商用,出问题后果自负。
发表评论
-
Mybatis的Mapper的多参数使用,list
2014-01-18 09:51 28055Mapper中多参数查 ... -
Java的logger打印异常的堆栈信息
2012-11-28 10:25 13510在java开发中,logger打印错误日志是最 ... -
Java关于split 处理空串以及截取最大数。
2012-07-19 20:50 7541java的String类中有个split方法, ... -
Java中关于List 与对象的关系
2012-05-30 16:32 1431在开发中,List 是经常被使用到的对象,Ar ... -
Java中getResourceAsStream的用法
2012-03-01 11:35 967全文无损转载:http://www.cnblogs.com/j ... -
JAVA递归方法
2012-02-17 14:26 0根据ParentId查询出所有子渠道Id ... -
JAVA写一个方法,判断该数是否为回数。
2012-02-02 21:06 3300数学上:一般的,一个自然数,如果该自然数从左向右读 ... -
Java源码打Jar包的两种方式.
2011-10-11 10:42 2161总结起来,eclipse下打包有2种方式。 1) ... -
Java中使用JSONObject对象必备
2011-08-22 11:05 1197JSON 即 JavaScript Object Natati ... -
java中使用dom简单轻便解析XML串.
2011-07-20 17:51 865java中使用dom解析简单的xml文件,只是 ... -
Java大批量导出数据,格式可以为xml或excel.
2011-06-18 11:20 6311最近项目中用到大数据量导出功能.不能确定到底有 ... -
Java中离线并发与锁机制。
2011-06-09 18:10 1413离线并发的来源 ... -
Java非常简单的Ajax使用.第一个Ajax程序
2011-06-04 17:38 2497查询某个表某条记录的时候,只能查出表的ID,不能直接显示NAM ... -
Java中获取windows、Linux和windows7的MAC地址
2011-06-03 16:52 10101今天在完成任务的时候,遇到了需要对对应的MAC地址进行验证的方 ... -
Java中判断非空对象.
2011-06-01 11:17 12869Java中经常会遇到判断非空的时候. 有的时候判断了非空但是还 ... -
Java中关于三目运算符理解和简单应用.
2011-05-26 11:08 24431名词解释 三目运算符: <表达式1>?<表达 ... -
Java实现真分页.自己领悟.
2011-05-25 17:17 2316oracle+java实现的真分页.每一页数据都是一次查询. ... -
Java中有两种实现多线程的方式以及两种方式之间的区别
2011-05-24 10:47 17363看到一个面试题.问两种 ... -
JAVA中简单调用MD5算法进行加密.
2011-03-19 09:39 6140加密算法简单代码.引入两个包.无需知道MD5源码. packa ... -
java-上传包 commons-fileupload-1.2.jar处理上传文件
2011-03-09 10:12 1341java commons-fileupload-1.2.jar ...
相关推荐
数据库一键数据导出导入,数据库对比,一键网格,出图,批量标注,数据库挂接,数据库检查,用来处理大批量矢量数据库效果很好,是公司自主研发的实用插件
2、java读取数据库数据,并导出为excel文件。 3、README.md中有详细的操作步骤示例。 使用说明: 1. 先使用postman导入:other/excel相关.postman_collection.json 2. 导入sql到数据库:other/excel.sql 3. idea导入...
使用java把数据库数据导出生成xml文件 使用java把数据库数据导出生成xml文件
数据库数据的导入导出和数据库备份和恢复.pdf
shp文件:地理信息系统,也被称作GIS,它主要的扩展类型是SHAPEFILE (.SHP),一个包含了矢量地理空间数据的流行文件格式,描述了几何形态,点,线和多边形...该方法通过java代码实现将shp文件的数据读取以及存入数据库
oracle数据库导入导出备份与恢复 数据库导入,数据库导出
Java实现excel文档数据导入数据库、导出excel
java使用jdbc将数据库数据导出到csv文件
NULL 博文链接:https://zhouwenjun.iteye.com/blog/526159
用C#实现oracle实现数据库的备份与还原
国产数据库人大金仓数据库备份迁移操作文档其中包括逻辑备份还原、联机全系统备份、联机增量备份、全系统恢复、数据迁移等,并包括命令行的备份还原和自动备份还原命令脚本。
SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel
这是一个用java编译的将数据库的记录导出为csv文件的程序
此软件用于把数据库里的数据导出为指定数据库类型的insert语句,用于数据备份或迁移到另一个数据库, 大文本和二进制字段被忽略。 当前支持oracle、sybase、mysql和ms sqlServer数据库。 你可以修改参数文件、增加新...
oracle数据库备份还原导入导出操作(本地及远程操作)
数据库的导数据库的导入导出、数据库备份和恢复.doc入导出、数据库备份和恢复.doc
强大的MySQL数据库备份程序,对于较大的数据库可以选择采用多页导出、导入的方式,理论上可以备份任何大小的数据库。导出的文件为完整的PHP文件,可以直接在服务器中运行导入,无须借助外面工具,方便快捷且运行效率...
oracle备份与还原数据库Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。执行环境:可以在SQLPLUS.EXE或者DOS...
可以根据表的id导入和导出excell、xml、txt等格式