- 浏览: 454680 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 28140Mapper中多参数查 ... -
Java的logger打印异常的堆栈信息
2012-11-28 10:25 13623在java开发中,logger打印错误日志是最 ... -
Java关于split 处理空串以及截取最大数。
2012-07-19 20:50 7630java的String类中有个split方法, ... -
Java中关于List 与对象的关系
2012-05-30 16:32 1472在开发中,List 是经常被使用到的对象,Ar ... -
Java中getResourceAsStream的用法
2012-03-01 11:35 1004全文无损转载:http://www.cnblogs.com/j ... -
JAVA递归方法
2012-02-17 14:26 0根据ParentId查询出所有子渠道Id ... -
JAVA写一个方法,判断该数是否为回数。
2012-02-02 21:06 3333数学上:一般的,一个自然数,如果该自然数从左向右读 ... -
Java源码打Jar包的两种方式.
2011-10-11 10:42 2204总结起来,eclipse下打包有2种方式。 1) ... -
Java中使用JSONObject对象必备
2011-08-22 11:05 1230JSON 即 JavaScript Object Natati ... -
java中使用dom简单轻便解析XML串.
2011-07-20 17:51 910java中使用dom解析简单的xml文件,只是 ... -
Java大批量导出数据,格式可以为xml或excel.
2011-06-18 11:20 6362最近项目中用到大数据量导出功能.不能确定到底有 ... -
Java中离线并发与锁机制。
2011-06-09 18:10 1449离线并发的来源 ... -
Java非常简单的Ajax使用.第一个Ajax程序
2011-06-04 17:38 2764查询某个表某条记录的时候,只能查出表的ID,不能直接显示NAM ... -
Java中获取windows、Linux和windows7的MAC地址
2011-06-03 16:52 10182今天在完成任务的时候,遇到了需要对对应的MAC地址进行验证的方 ... -
Java中判断非空对象.
2011-06-01 11:17 12943Java中经常会遇到判断非空的时候. 有的时候判断了非空但是还 ... -
Java中关于三目运算符理解和简单应用.
2011-05-26 11:08 24493名词解释 三目运算符: <表达式1>?<表达 ... -
Java实现真分页.自己领悟.
2011-05-25 17:17 2361oracle+java实现的真分页.每一页数据都是一次查询. ... -
Java中有两种实现多线程的方式以及两种方式之间的区别
2011-05-24 10:47 17409看到一个面试题.问两种 ... -
JAVA中简单调用MD5算法进行加密.
2011-03-19 09:39 6180加密算法简单代码.引入两个包.无需知道MD5源码. packa ... -
java-上传包 commons-fileupload-1.2.jar处理上传文件
2011-03-09 10:12 1373java commons-fileupload-1.2.jar ...
相关推荐
1. **数据库一键数据导出导入**:这个功能简化了数据交换的过程,允许用户快速地将数据从一个数据库导出到另一个数据库,或者从外部文件(如CSV、Shapefile等)导入到ArcGIS项目中。这在需要跨系统共享数据或更新...
- 还原数据库:将备份的数据库文件复制回原位置并重建数据库。 - 崩溃恢复:在数据库系统崩溃后,使用备份文件和事务日志文件来恢复数据。 5. 数据库的导入导出工具和技术: - 使用SQL Server Management Studio...
在Java编程中,有时我们需要对MySQL数据库进行导入和导出操作,这通常涉及到数据库的备份、迁移或数据恢复。在给定的标题“java调用mysql命令 导入导出数据库”中,我们可以理解为使用Java来执行MySQL的命令行工具,...
2、java读取数据库数据,并导出为excel文件。 3、README.md中有详细的操作步骤示例。 使用说明: 1. 先使用postman导入:other/excel相关.postman_collection.json 2. 导入sql到数据库:other/excel.sql 3. idea导入...
本文将深入探讨如何使用Java进行数据的导入和导出,包括Excel、XML和TXT等常见格式的处理。 首先,我们要理解数据导入导出的核心目的:将数据从一个系统或文件中读取并写入另一个系统或文件。在Java中,这通常涉及...
使用java把数据库数据导出生成xml文件 使用java把数据库数据导出生成xml文件
选择正确文件后,点击"Import"按钮,PL/SQL Developer会开始执行还原操作,将.dmp文件中的数据导入到数据库中,从而恢复到备份时的状态。 在备份和还原过程中,需要注意以下几点: 1. 确保在进行备份和还原操作时,...
从标题和描述中可以看到,本文的主要内容是使用 Java 语言将 Oracle 数据库数据导出到文件中,并将其导入到 Oracle 数据库中。其中,使用了 exp 和 imp 命令来实现数据的导出和导入。 在 Oracle 数据库中,exp 和 ...
Oracle提供多种备份方式,包括物理备份(如数据文件、控制文件的拷贝)和逻辑备份(如导出/导入、SQL*Plus的COPY命令)。在C#中,我们通常会借助Oracle的.NET数据提供者(Oracle Managed Data Access,ODP.NET)或者...
Oracle 19c 备份恢复-导入导出 ...Oracle 19c 备份恢复-导入导出是指使用 exp 和 imp 工具实现数据库的备份恢复和数据的导入导出,通过选择合适的工作方式、模式和选项,可以满足不同的备份恢复和数据导入导出需求。
3. **数据库还原过程**:还原数据库通常涉及到将备份文件(通常是SQL文件)导入到数据库服务器。在Thinkphp中,你可以使用`Think\Db`类的`execute()`方法执行SQL文件中的恢复命令。如果文件较大,可能需要分批执行,...
`dexp`是一款用于达梦数据库的逻辑导出工具,它可以帮助用户将数据库中的数据和元数据导出到指定的文件中。 1. **使用场景**: - **数据迁移**:将数据从一个数据库迁移到另一个数据库。 - **数据备份**:定期...
而`java实现数据库备份说明.txt`文件可能详细阐述了实现备份的具体步骤和技术细节,包括代码示例、配置说明和可能遇到的问题。 在实际项目中,为了提高容灾能力,我们还需要考虑备份的冗余和恢复策略。例如,可以...
SQL Server 数据库导入导出是数据库管理员和开发者常用的操作,目的是将数据库备份到本地或网络存储设备中,以便在需要时恢复数据库或将数据库迁移到其他服务器上。下面将详细介绍 SQL Server 数据库导入导出的方法...
在Java编程环境中,将Excel数据导入到数据库以及将数据库数据导出到Excel是常见的数据处理需求。本篇文章将深入探讨如何使用Java实现这两个功能,主要涉及的技术栈包括Apache POI库用于操作Excel,以及JDBC(Java ...
3. **磁盘空间**:检查磁盘空间以确保有足够的空间存储导出文件和导入数据。 4. **日志记录**:在执行命令时使用`log`参数记录操作日志,便于追踪和问题排查。 5. **数据一致性**:在进行数据导入时,根据需要选择...
Oracle数据库提供了三种标准的备份方式:导出/导入(EXP/IMP)、热备份(Hot Backup)和冷备份(Cold Backup)。这些方法根据不同的场景和需求,各有优势。 - **导出/导入(EXP/IMP)**:这是一种逻辑备份的方式,...
在本项目中,"SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel.zip",我们主要关注的是如何利用Java技术栈来处理Excel文件,并与数据库进行交互。以下是相关知识点的...
MySQL 数据库导入导出命令是数据库管理员和开发者经常使用的命令,用于将 MySQL 数据库导出到文件中,以便备份、还原或迁移到其他服务器。下面将详细介绍 MySQL 数据库导入导出的命令和方法。 数据库备份 数据库...