在我们开发管理系统时,系统数据备份还原对开发人员来说十分简单。但是系统后期交给客户后,由于客户使用水平有限,数据库的备份还原操作对他们来说却是一个十分复杂的事情。针对这种情况一般在开发系统时会留个一键备份还原数据库的功能。
那么怎么实现这些看似无用的功能呢?
下面我说说我的做法,请各位大神勿喷,只是一个小思路而已、。
思路:数据库可以通过命令来操作,而Java拥有执行命令的类
我使用的是mysql
mysql备份数据库命令:
mysqldump -u root --password=root sycj > D:/tomcat7/webapps/sycj/BackDatabase/bak_20170817090329.sql
数据库用户名:root 密码:root 数据库名称:scgl
Java执行cmd命令代码:
String cmd="mysqldump -u root --password=root sycj > D:/tomcat7/webapps/sycj/BackDatabase/bak_20170817090329.sql";
try {
Process p = Runtime.getRuntime().exec("cmd /C " + cmd);
p.waitFor();
bool = "数据库操作成功!";
} catch (Exception e) {
e.printStackTrace();
bool= "数据库操作失败!";
}
这是执行备份的命令,成功后会在D:/tomcat7/webapps/sycj/BackDatabase/下产生一个数据库备份脚步
道理很简单,其实就是通过Java调用了下cmd命令来备份还原数据库而已