簡體   English   中英

單擊netbeans jbutton時如何備份和恢復sql數據庫

[英]How to backup and restore sql database when I clicked netbeans jbutton

我想知道如何實現這個功能,當我想在我的程序中備份我的數據庫時,只需單擊一下數據庫就可以保存文檔,當我單擊恢復按鈕時,它應該自動恢復數據庫。

我的jFrame程序設計這是主界面代碼

package bankapplication;

公共類 MainInterface 擴展 javax.swing.JFrame {

public MainInterface() {
    initComponents();
    setLocationRelativeTo(null);
    setIcon();

    }
}                   

如果你知道如何解決這個問題,請幫助我做到這一點。 謝謝..

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();

                }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM