Aller au contenu principal

Connexions aux Bases de Données

Sarah supporte plusieurs systèmes de bases de données à travers une interface unifiée. Ce guide couvre comment configurer et gérer les connexions aux bases de données.

Bases de Données Supportées

Base de DonnéesClasse de ConnexionMéthode de Configuration
MySQLMySqlConnectionDatabaseConfiguration.create()
MariaDBMariaDbConnectionDatabaseConfiguration.createMariaDb()
SQLiteSqliteConnectionDatabaseConfiguration.sqlite()

Connexion MySQL

Configuration Basique

DatabaseConfiguration config = DatabaseConfiguration.create(
"username", // Utilisateur de la base de données
"password", // Mot de passe
3306, // Port
"localhost", // Hôte
"my_database" // Nom de la base de données
);

DatabaseConnection connection = new MySqlConnection(config);
connection.connect();

Avec Mode Debug

Activer la journalisation des requêtes SQL pour le débogage :

DatabaseConfiguration config = DatabaseConfiguration.create(
"username",
"password",
3306,
"localhost",
"my_database",
true // Activer le mode debug
);

Connexion MariaDB

La configuration MariaDB est similaire à MySQL :

DatabaseConfiguration config = DatabaseConfiguration.createMariaDb(
"username",
"password",
3306,
"localhost",
"my_database"
);

DatabaseConnection connection = new MariaDbConnection(config);
connection.connect();

Sans Port (Par défaut 3306)

DatabaseConfiguration config = DatabaseConfiguration.createMariaDb(
"username",
"password",
"localhost",
"my_database"
);

Connexion SQLite

SQLite est parfait pour le développement ou les petits projets :

// Créer la configuration
DatabaseConfiguration config = DatabaseConfiguration.sqlite(true); // mode debug

// Créer la connexion avec le chemin du dossier
// Le fichier de base de données sera créé sous le nom "database.db" dans ce dossier
DatabaseConnection connection = new SqliteConnection(config, myPluginFolder);
connection.connect();

Exemple Complet SQLite

public class MyPlugin extends JavaPlugin {

private DatabaseConnection connection;

@Override
public void onEnable() {
DatabaseConfiguration config = DatabaseConfiguration.sqlite(false);
this.connection = new SqliteConnection(config, getDataFolder());

try {
connection.connect();
getLogger().info("Connecté à la base de données SQLite !");
} catch (SQLException e) {
getLogger().severe("Échec de la connexion à SQLite !");
e.printStackTrace();
}
}
}

Méthodes de DatabaseConfiguration

Méthodes de Création

MéthodeDescription
create(user, password, port, host, database)Créer une config MySQL
create(user, password, port, host, database, debug)Créer une config MySQL avec debug
createMariaDb(user, password, port, host, database)Créer une config MariaDB
createMariaDb(user, password, port, host, database, debug)Créer une config MariaDB avec debug
sqlite(debug)Créer une config SQLite

Méthodes d'Instance

MéthodeType de RetourDescription
getUser()StringObtenir le nom d'utilisateur
getPassword()StringObtenir le mot de passe
getPort()intObtenir le port
getHost()StringObtenir l'hôte
getDatabase()StringObtenir le nom de la base
isDebug()booleanVérifier si le mode debug est activé
getDatabaseType()DatabaseTypeObtenir le type de base de données
replacePrefix(tableName)StringRemplacer le préfixe de table

Cycle de Vie de la Connexion

Se Connecter

try {
connection.connect();
} catch (SQLException e) {
// Gérer l'échec de connexion
e.printStackTrace();
}

Se Déconnecter

Toujours se déconnecter quand votre plugin se désactive :

@Override
public void onDisable() {
if (connection != null) {
connection.disconnect();
}
}

Obtenir la Connexion Brute

Si vous avez besoin de la connexion JDBC sous-jacente :

Connection jdbcConnection = connection.getConnection();

Bonnes Pratiques

1. Toujours Gérer les Exceptions

try {
connection.connect();
} catch (SQLException e) {
logger.severe("Échec de la connexion à la base de données : " + e.getMessage());
// Désactiver le plugin ou utiliser une solution de repli
}

2. Utiliser SQLite pour le Développement

boolean isDevelopment = true; // ou depuis la config

if (isDevelopment) {
connection = new SqliteConnection(DatabaseConfiguration.sqlite(true), folder);
} else {
connection = new MySqlConnection(productionConfig);
}

3. Fermer les Connexions Correctement

@Override
public void onDisable() {
// D'abord sauvegarder les données en attente
saveAllData();

// Ensuite se déconnecter
if (connection != null) {
connection.disconnect();
}
}

Prochaines Étapes

Copyright © 2026 GroupeZ|Build #loading...|-