医院手机网站模板,网上做题扣分在哪个网站上做,文章 百度网站创建及发展历史,做承兑 汇票一般会用哪些网站数据备份对于经常在运维部署方面的工作者来说#xff0c;是一件相对简单的事情#xff0c;都可以通过某一个SQL工具进行备份#xff0c;但是如果在项目运行当中#xff0c;我们需要对数据进行实时#xff0c;或者是每隔一星期#xff0c;一个月#xff0c;等等进行数据…数据备份对于经常在运维部署方面的工作者来说是一件相对简单的事情都可以通过某一个SQL工具进行备份但是如果在项目运行当中我们需要对数据进行实时或者是每隔一星期一个月等等进行数据的备份这样就需要java工具来操作备份SQL文件目前可以通过调用mysql安装的命令进行数据备份另外通过Job任务调度器进行配合使用这里技术选型为Quartz。在下面代码当中address为SQL脚本文件存放的地址。其中path为mysql的安装位置D:\mysql\mysql-5.6.35-winx64\binpublic MapexportDatabase(String address) {Map resultMap newHashedMap();try{String path PropertiesFileUtil.getInstance(sql).get(path);String root PropertiesFileUtil.getInstance(sql).get(sql.jdbc.username);String dataBase PropertiesFileUtil.getInstance(sql).get(sql.jdbc.dataBase);String table PropertiesFileUtil.getInstance(sql).get(sql.jdbc.table);String password PropertiesFileUtil.getInstance(sql).get(sql.jdbc.password);String sqlName System.currentTimeMillis() .sql;Runtime rtRuntime.getRuntime();Process child rt.exec(path mysqldump -u root -p password -R -c --set-charsetutf8 dataBase table );InputStream inchild.getInputStream();InputStreamReader xx new InputStreamReader(in, utf8);String inStr;StringBuffer sb new StringBuffer();String outStr;BufferedReader br newBufferedReader(xx);while ((inStr br.readLine()) ! null) {sb.append(inStr \r\n);}outStrsb.toString();FileOutputStream fout new FileOutputStream(address / sqlName);OutputStreamWriter writer new OutputStreamWriter(fout, utf8);writer.write(outStr);writer.flush();in.close();xx.close();br.close();writer.close();fout.close();resultMap.put(result, success);resultMap.put(data, address / sqlName);returnresultMap;}catch(Exception e) {e.printStackTrace();}resultMap.put(result, fail);resultMap.put(data, 地址选择有可能出现问题);returnresultMap;}上述代码当中主要的是用到了RuntimeRuntime封装了运行环境每一个java运行实例都有一个Runtime类为实例使程序能够与其环境相接。一般不能实例化一个Runtime对象应用程序不能创建自己的Runtime实例但是可以通过getRuntime的方法获取当前Runtime运行时对象的引用。一旦得到当前的Runtime对象的引用就可以调用Runtime对象的方法去控制java虚拟机的状态和行为。执行SQL脚本我们可以通过ant来实现首先我们引入ant的jar包org.apache.antant1.7.1public MapimportDatabase(String filepath) {Map resultMap newHashedMap();try{String username PropertiesFileUtil.getInstance(sql).get(sql.jdbc.username);String password PropertiesFileUtil.getInstance(sql).get(sql.jdbc.password);String url PropertiesFileUtil.getInstance(sql).get(sql.jdbc.url);String driverClassNamePropertiesFileUtil.getInstance(sql).get(sql.jdbc.driver);String filepathName filepath.substring(0, filepath.lastIndexOf(.));String outputPath filepathName .out;SQLExec sqlExec newSQLExec();//设置数据库参数sqlExec.setDriver(driverClassName);sqlExec.setUrl(url);sqlExec.setUserid(username);sqlExec.setPassword(password);//设置字符编码sqlExec.setEncoding(UTF-8);//要执行的脚本sqlExec.setSrc(newFile(filepath));//有出错的语句该如何处理sqlExec.setOnerror((SQLExec.OnError) (EnumeratedAttribute.getInstance(SQLExec.OnError.class, abort)));sqlExec.setPrint(true); //设置是否输出//输出到文件 sql.out 中不设置该属性默认输出到控制台sqlExec.setOutput(newFile(outputPath));sqlExec.setProject(new Project()); //要指定这个属性不然会出错sqlExec.execute();logger.info(执行sql脚本文件成功);resultMap.put(result, success);}catch(Exception e) {logger.info(执行sql脚本文件失败);e.printStackTrace();resultMap.put(result, fail);returnresultMap;}returnresultMap;}欢迎关注微信公众号摘星族我们在等待您的加入。