- 浏览: 458575 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
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 28180Mapper中多参数查 ... -
Java的logger打印异常的堆栈信息
2012-11-28 10:25 13695在java开发中,logger打印错误日志是最 ... -
Java关于split 处理空串以及截取最大数。
2012-07-19 20:50 7661java的String类中有个split方法, ... -
Java中关于List 与对象的关系
2012-05-30 16:32 1483在开发中,List 是经常被使用到的对象,Ar ... -
Java中getResourceAsStream的用法
2012-03-01 11:35 1015全文无损转载:http://www.cnblogs.com/j ... -
JAVA递归方法
2012-02-17 14:26 0根据ParentId查询出所有子渠道Id ... -
JAVA写一个方法,判断该数是否为回数。
2012-02-02 21:06 3346数学上:一般的,一个自然数,如果该自然数从左向右读 ... -
Java源码打Jar包的两种方式.
2011-10-11 10:42 2219总结起来,eclipse下打包有2种方式。 1) ... -
Java中使用JSONObject对象必备
2011-08-22 11:05 1241JSON 即 JavaScript Object Natati ... -
java中使用dom简单轻便解析XML串.
2011-07-20 17:51 965java中使用dom解析简单的xml文件,只是 ... -
Java大批量导出数据,格式可以为xml或excel.
2011-06-18 11:20 6408最近项目中用到大数据量导出功能.不能确定到底有 ... -
Java中离线并发与锁机制。
2011-06-09 18:10 1461离线并发的来源 ... -
Java非常简单的Ajax使用.第一个Ajax程序
2011-06-04 17:38 2779查询某个表某条记录的时候,只能查出表的ID,不能直接显示NAM ... -
Java中获取windows、Linux和windows7的MAC地址
2011-06-03 16:52 10226今天在完成任务的时候,遇到了需要对对应的MAC地址进行验证的方 ... -
Java中判断非空对象.
2011-06-01 11:17 12988Java中经常会遇到判断非空的时候. 有的时候判断了非空但是还 ... -
Java中关于三目运算符理解和简单应用.
2011-05-26 11:08 24536名词解释 三目运算符: <表达式1>?<表达 ... -
Java实现真分页.自己领悟.
2011-05-25 17:17 2379oracle+java实现的真分页.每一页数据都是一次查询. ... -
Java中有两种实现多线程的方式以及两种方式之间的区别
2011-05-24 10:47 17431看到一个面试题.问两种 ... -
JAVA中简单调用MD5算法进行加密.
2011-03-19 09:39 6194加密算法简单代码.引入两个包.无需知道MD5源码. packa ... -
java-上传包 commons-fileupload-1.2.jar处理上传文件
2011-03-09 10:12 1390java commons-fileupload-1.2.jar ...
相关推荐
2. **第三方应用:**市场上有许多应用如“QQ同步助手”、“备份与恢复”等,它们提供一键备份功能,将通讯录保存为.vcf或.csv文件,可以存储在本地或云端。 3. **ADB命令行:**对于技术熟练的用户,可以通过安装...
后台数据库备份/还原、全站指定目录打包、一键自动升级等功能使维护简单方便。系统拥有强大的模板管理功能,布局版块支持设置输出条件,让前端页面展示方便快捷。技术选型:Spring 5.0 + SpringMVC + JPA + Ehcache...
后台数据库备份/还原、全站指定目录打包、一键自动升级等功能使维护简单方便。本系统适合企业建设官方交流论坛,进行产品展示、营销、客服、用户交流的平台,用最小的成本将你的产品推向数以亿计的用户,成为他们生活...
1. 数据库备份:工具提供了一键备份的功能,可以快速将整个数据库或者特定表的数据导出为可恢复的文件,这对于定期备份和灾难恢复有着重要的意义。 2. 数据库还原:与备份功能相辅相成,jDatabase Scripting支持将...
后台数据库备份/还原、全站指定目录打包、一键自动升级等功能使维护简单方便。系统拥有强大的模板管理功能,布局版块支持设置输出条件,让前端页面展示方便快捷。 技术选型: Spring 5.0 + SpringMVC + JPA + ...
后台数据库备份/还原、全站指定目录打包、一键自动升级等功能使维护简单方便。系统拥有强大的模板管理功能,布局版块支持设置输出条件,让前端页面展示方便快捷。技术选型:Spring 5.0 + SpringMVC + JPA + Ehcache...
后台数据库备份/还原、全站指定目录打包、一键自动升级等功能使维护简单方便。本系统适合企业建设官方交流论坛,进行产品展示、营销、客服、用户交流的平台,用最小的成本将你的产品推向数以亿计的用户,成为他们生活...
数据维护:mysql数据库备份与还原。2、运维监控定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。令牌管理:用户登录token管理。数据监控: 监视当前系统数据库连接池状态,可进行分析SQL找出系统性能...