我想知道如何制作这个功能, 当我想在我的程序中备份我的数据库时,只需一次点击数据库就可以保存文档,当我点击恢复按钮时,它应该自动恢复数据库。
我的jFrame编程设计 这是主界面代码
package bankapplication;
公共类MainInterface扩展了javax.swing.JFrame {
public MainInterface() {
initComponents();
setLocationRelativeTo(null);
setIcon();
}
}
如果你知道,如何解决这个问题请帮我做。 感谢..
答案 0 :(得分:0)
java.lang.Runtime.exec(String command)
方法在单独的进程中执行指定的string command
您可以import and export mysql database
使用以下查询
备份:#mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
恢复:#mysql -u root -p[root_password] [database_name] < dumpfilename.sql
我正在使用我的程序正在使用java运行时执行上述查询。
我创建的查询: - "mysqldump -u " + "root" + " -p" + "password" + " databasename -r " + javaPath"
用您的密码替换password
并将databasename
替换为您的数据库名称并尝试代码
让我们知道你之后的错误。
execute a back up
public void executeBackUp(){
try {
String javaPath = "filePath";
Runtime.getRuntime().exec("mysqldump -u " + "root" + " -p" + "password" + " databasename -r " + javaPath);
JOptionPane.showMessageDialog(this, "Backup File Created.", "Done", 1);
} catch (Exception e) {
e.printStackTrace();
}
}
restore a backup
public void restore(){
try {
String path = "filepath";
String arrayCommand[] = new String[]{"mysql", "databasename", "-u", "root", "-p" + "password", "-e", " source " + path};
Process runtimeProcess = Runtime.getRuntime().exec(arrayCommand);
int processStatus = runtimeProcess.waitFor();
if (processStatus == 1) {
System.out.println("failed");
} else if (processStatus == 0) {
System.out.println("success");
}
} catch (Exception e) {
e.printStackTrace();
}
}