本节概要
このセクションでは、機能を回復し、ソフトウェアを終了し、データベースのバックアップに記録されます。
バックアップ機能
バックアップ機能は、()メソッドで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この章のソースコードを入手することができます]。