Ajouts de la base de donnée avec les seed
This commit is contained in:
@@ -3,12 +3,15 @@ package fr.monkhanny.dorfromantik.utils;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.PreparedStatement;
|
||||
|
||||
public class Database {
|
||||
// Chargement des variables d'environnement
|
||||
private static final String URL = Environnement.getEnv("DATABASE_URL_IUT");
|
||||
private static final String LOGIN = Environnement.getEnv("DATABASE_LOGIN_IUT");
|
||||
private static final String PASSWORD = Environnement.getEnv("DATABASE_PASSWORD_IUT");
|
||||
private static final String URL = "jdbc:mariadb://dwarves.iut-fbleau.fr/stiti";
|
||||
private static final String LOGIN = "stiti";
|
||||
private static final String PASSWORD = "stiti1234";
|
||||
|
||||
// Variable de passerelle entre le programme et la base de données
|
||||
private Connection database;
|
||||
@@ -40,6 +43,66 @@ public class Database {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Récupère le seed correspondant au mode de jeu (series_id)
|
||||
* @param seriesId L'ID de la série (mode de jeu)
|
||||
* @return Le seed associé à ce mode de jeu
|
||||
* @throws SQLException Si une erreur se produit lors de la récupération du seed
|
||||
*/
|
||||
public long getSeedBySeriesId(long seriesId) throws SQLException {
|
||||
String query = "SELECT series_id FROM Series WHERE series_id = " + seriesId;
|
||||
long seed = -1; // Valeur par défaut si le seed n'est pas trouvé
|
||||
|
||||
try (Statement stmt = this.database.createStatement();
|
||||
ResultSet rs = stmt.executeQuery(query)) {
|
||||
if (rs.next()) {
|
||||
seed = rs.getLong("series_id");
|
||||
}
|
||||
}
|
||||
|
||||
return seed;
|
||||
}
|
||||
|
||||
public long getSeedByName(String name) throws SQLException {
|
||||
String query = "SELECT series_id FROM Series WHERE name = " + "\'" + name + "\'" +";";
|
||||
long seed = -1; // Valeur par défaut si le seed n'est pas trouvé
|
||||
|
||||
try (Statement stmt = this.database.createStatement();
|
||||
ResultSet rs = stmt.executeQuery(query)) {
|
||||
if (rs.next()) {
|
||||
seed = rs.getLong("series_id");
|
||||
}
|
||||
}
|
||||
|
||||
return seed;
|
||||
}
|
||||
|
||||
public void addCustomSeed(String name, long customSeed) throws SQLException {
|
||||
// Vérifier si la seed existe déjà
|
||||
String checkQuery = "SELECT COUNT(*) FROM Series WHERE series_id = ?";
|
||||
try (PreparedStatement checkStmt = this.database.prepareStatement(checkQuery)) {
|
||||
checkStmt.setLong(1, customSeed);
|
||||
ResultSet rs = checkStmt.executeQuery();
|
||||
if (rs.next() && rs.getInt(1) > 0) {
|
||||
// la seed existe déjà
|
||||
return; // Ne pas insérer si la seed existe déjà
|
||||
}
|
||||
}
|
||||
|
||||
// Si la seed n'existe pas, procéder à l'insertion
|
||||
String insertQuery = "INSERT INTO Series (name, series_id, creation_date) VALUES (?, ?, CURRENT_TIMESTAMP)";
|
||||
try (PreparedStatement stmt = this.database.prepareStatement(insertQuery)) {
|
||||
stmt.setString(1, name);
|
||||
stmt.setLong(2, customSeed);
|
||||
stmt.executeUpdate();
|
||||
} catch (SQLException e) {
|
||||
System.err.println("Erreur lors de l'ajout de la seed custom: " + e.getMessage());
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void close() {
|
||||
try {
|
||||
if (this.database != null && !this.database.isClosed()) {
|
||||
@@ -49,4 +112,4 @@ public class Database {
|
||||
System.err.println("Erreur lors de la fermeture de la base de données : " + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user