Plugin d'interaction avec les bases de donnnées d'Utaria
Fonctionne avec Spigot, Paper et Waterfall 1.8-1.12.
Ce plugin a été réalisé dans le cadre de la mise en place et l'exploitation du serveur de jeu Survie pour "UTARIA" de décembre 2016 à mars 2018. Le présent dépôt a été mis en place peu de temps avant la fin de la V1. Développé par Utarwyn.
Ce programme a été réalisé dans le but de rendre simple une tâche qui peut s'avérer très complexe pour les développeurs débutants : connecter un plugin Minecraft à une ou plusieurs bases de données. Ses principaux objectifs : simplicité, performance, polyvalence.
Il intègre de nombreuses fonctionnalités, comme :
- Support de MySQL et des bases SQLite (via des fichiers .db)
- Une gestion rapide et performante des connexions aux bases de données (système de piscine)
- Une API simple mais complète pour les développeurs de plugin Minecraft
- Un système de migration intégré pour collaborer facilement et gérer les déploiements en production
- Fonctionne avec PaperSpigot et Waterfall (seuls testés)
- Support des connexions via tunnel SSH, du multi-requêtes et de base SQLite interne.
⚠️ Attention ! Ce plugin a été réalisé dans le cadre du projet UTARIA, il n'est donc pas utilisable tel quel. Si vous souhaitez l'utiliser, de nombreux changements sont à prévoir. Dans ce cas, il serait plus judicieux de prendre appui dessus pour réaliser votre propre plugin.
// Enregistrement d'une base de données
DatabaseManager.registerDatabase("MASUPERBASE");
// Lancement d'une requête dessus
Database maSuperBase = DatabaseManager.getDB("MASUPERBASE");
SelectQuery selectQuery = maSuperBase.select("prenom", "email", "age")
.from("utilisateurs")
.where("age > 18", "ville = ?")
.order("age DESC")
.attributes("PARIS");
// On analyse les résultats avec :
for (DatabaseSet set : selectQuery.findAll()) {
System.out.println("prenom = " + set.getString("prenom"));
System.out.println("email = " + set.getString("email"));
System.out.println("age = " + set.getInteger("age"));
System.out.println();
}
Le programme nécessite Java8, PaperSpigot 1.8.8 ou Waterfall et utilise les programmes tiers suivants :
- Librairie DBCP2 par Apache disponible ici.
- Connecteur JAVA (JDBC) pour serveurs MySQL disponible ici.
- Connecteur JAVA (JDBC) pour serveurs SQLite disponible ici.
- FlywayDB pour executer des migrations sur les base de données (disponible ici).
L'outil utilise Maven donc toutes ces librairies sont incluses sans manipulation de votre part.
⚠️ Impossible pour le moment. Contactez-moi en cas de problème via mon compte Twitter @Utarwyn.
On remercie tous les participants de notre belle aventure et les joueurs, sans qui nous ne serions pas là aujourd'hui. 🔥 😍
Voir le fichier LICENSE.md
GitHub @Utaria · Twitter @Utaria_FR