Javaの戦闘家政婦課金システム(7) - バックアップ、復元、および達成するための機能を終了

本节概要

このセクションでは、機能を回復し、ソフトウェアを終了し、データベースのバックアップに記録されます。

 

バックアップ機能

バックアップ機能は、()メソッドでMainPageController.javaにbackupMenuItemEventされ、この方法で書かれたコードを処理するイベントをトリガしました。

あなたはdb.propertiesである右、データベース名、バックアップするデータベースの名前をキーと値を追加する必要があることに注意してください。

    /**
     * “备份”菜单项的事件监听器
     *
     * @param actionEvent 事件
     */
    @FXML
    public void backupMenuItemEvent(ActionEvent actionEvent) throws IOException {
        //实例化文件选择器
        FileChooser fileChooser = new FileChooser();
        //设置打开文件选择框默认输入的文件名
        fileChooser.setInitialFileName("Database_Backup_" + dateTools.dateFormat(new Date(), "yyyy-MM-dd") + ".sql");
        //打开文件选择框
        File result = fileChooser.showSaveDialog(null);
        if (result != null) {
            String savePath = result.getAbsolutePath();
            // 实例化Properties对象
            Properties properties = new Properties();
            // 加载properties配置文件
            FileInputStream fis = new FileInputStream(new File("src\\AccountSystem\\properties\\db.properties"));
            properties.load(fis);
            // 通过键名获取对应的值
            String databaseName = properties.get("databaseName").toString();
            String user = properties.get("user").toString();
            String password = properties.get("password").toString();
            // 调用备份方法需要提供MySQL的用户名、密码和数据库名,这些数据从properties文件中读取
            boolean b = JDBCUtils.backup(user, password, savePath, databaseName);
            if (b) {
                SimpleTools.informationDialog(Alert.AlertType.INFORMATION, "提示", "信息", "备份数据库成功!");
            } else {
                SimpleTools.informationDialog(Alert.AlertType.ERROR, "提示", "错误", "备份数据库失败!");
            }
            // 关闭流
            fis.close();
        }
    }

バックアップするパスを選択することによりチューザ、次いでdb.propertiesデータベース名及びユーザパスワードを読み取り、その後、パラメータとしてバックアップ方法JDBCUtilsに渡すは、バックアップ動作を行います。それが法にパックされている以外のバックアップは、基本的にDOSコマンドを()が実行されます。

プログラム、テスト関数を実行します。

成功したバックアップの後、あなたは、以下の情報を参照することができ、開くために、メモ帳を使用します。

出力バックアップ()メソッドは、コンソール内の情報の出力を見ることができればSTMT:

mysqldump -uroot -padmin db_bookkeepingSystem > C:\Users\Administrator\Music\Database_Backup_2020-02-12.sql

rootユーザー名、管理者のログインパスワードデータベースどれ、db_bookkeepingSystemは、バックアップするデータベースの名前であり、後者は、ファイルのSQLアドレスを保存するパスです。

DOSウィンドウで、上記のステートメントを実現することもできます。

 

回復

同じことは、コードをイベント処理のrecoverMenuItemEvent()メソッドで記述されている以下の通りであります:

    /**
     * “恢复”菜单项的事件监听器
     *
     * @param actionEvent 事件
     */
    @FXML
    public void recoverMenuItemEvent(ActionEvent actionEvent) throws IOException {
        //实例化文件选择器
        FileChooser fileChooser = new FileChooser();
        //设置默认文件过滤器
        fileChooser.setSelectedExtensionFilter(new FileChooser.ExtensionFilter("sql(*.sql)", "sql"));
        //打开文件选择框
        File result = fileChooser.showOpenDialog(null);
        if (result != null) {
            // 恢复文件的路径
            String recoverPath = result.getAbsolutePath();
            // 实例化Properties对象
            Properties properties = new Properties();
            // 加载properties配置文件
            FileInputStream fis = new FileInputStream(new File("src\\AccountSystem\\properties\\db.properties"));
            properties.load(fis);
            // 通过键名获取对应的值
            String databaseName = properties.get("databaseName").toString();
            String user = properties.get("user").toString();
            String password = properties.get("password").toString();
            boolean b = JDBCUtils.recover(user, password, databaseName, recoverPath);
            if (b) {
                // 刷新界面显示的数据
                initialize();
                SimpleTools.informationDialog(Alert.AlertType.INFORMATION, "提示", "信息", "数据库恢复成功!");
            } else {
                SimpleTools.informationDialog(Alert.AlertType.ERROR, "提示", "错误", "数据库恢复失败!");
            }
            // 关闭流
            fis.close();
        }
    }

同じ方法をJDBCUtilsクラスの回復と呼ばれています。

 

終了関数

通常、プログラムの最後にある機能を終了します

System.exit(0);

したがって、終了メニュー項目イベントリスナーのコードは、そのことについて次のようになります。

    /**
     * “退出”菜单项的事件监听器
     *
     * @param actionEvent 事件
     */
    @FXML
    public void exitMenuItemEvent(ActionEvent actionEvent) {
        System.exit(0);
    }

次に、「終了」メニュー項目をクリックすると、プログラムを終了します。

 

 

検索可能な公共のマイクロチャネル番号[ Javaの例のプログラム ]以上の世間の注目を得るためにFanger魏のコード番号をスキャンします。

注: [パブリック数の背景に返信20200321この章のソースコードを入手することができます]。

公開された500元の記事 ウォン称賛77 ビュー160 000 +

おすすめ

転載: blog.csdn.net/cnds123321/article/details/104276021
おすすめ