avant-propos
Le projet de l'entreprise doit être packagé dans un fichier exécutable exe pour le déploiement de l'environnement client. La base de données mysql est également installée en un clic, ce qui implique la création et l'initialisation de la base de données. Voici la solution :
1. Créer automatiquement une base de données
La méthode Connection.createStatement() est utilisée pour créer un objet Statement, encapsuler l'instruction SQL et l'envoyer à la base de données, et est généralement utilisée pour exécuter l'instruction SQL sans paramètres.
Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306?serverTimezone=UTC", username, password);
Statement statement = connection.createStatement();
statement.executeUpdate("create database if not exists `mysql_database` default character set utf8mb4 COLLATE utf8mb4_general_ci");
statement.close();
connection.close();
Deuxièmement, exécutez le fichier SQL
Java exécute le script sql de la procédure stockée via ScriptRunner et la classe ScriptRunner appartient au package org.apache.ibatis.jdbc.
Connection connectionSql = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mysql_database?serverTimezone=UTC", username, password);
ScriptRunner runner = new ScriptRunner(connectionSql);
Resources.setCharset(StandardCharsets.UTF_8);
runner.setLogWriter(null);
String sqlUrl = projectUrl.replace("/","\\\\")+"mysqldata\\mysql_init.sql";
runner.runScript(new InputStreamReader(new FileInputStream(sqlUrl), StandardCharsets.UTF_8));
connectionSql.close();