Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.elyrion.core;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import org.bukkit.entity.Player;
- import fr.elyrion.core.cache.DataPlayer;
- import fr.elyrion.core.grades.Grades;
- public class SQLConnection {
- private Connection connection;
- private String urlbase,host,database,user,pass;
- private Core pl;
- public SQLConnection(Core pl, String urlbase, String host, String database, String user, String pass) {
- this.urlbase = urlbase;
- this.host = host;
- this.database = database;
- this.user = user;
- this.pl = pl;
- this.pass = pass;
- }
- public void connect(){
- if(!isConnected()){
- try {
- connection = DriverManager.getConnection(urlbase + host + "/" + database, user, pass);
- System.out.println("Connection Database [OK]");
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- public void disconnect(){
- if(isConnected()){
- try {
- connection.close();
- System.out.println("Disconnection Database [OK]");
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- public boolean isConnected(){
- return connection != null;
- }
- //rdheqh
- public void createAccount(Player p){
- if(!hasAccount(p)){
- try {
- PreparedStatement q = (PreparedStatement) connection.prepareStatement("INSERT INTO joueurs(uuid,grades) VALUES (?,?)");
- q.setString(1, p.getUniqueId().toString());
- q.setInt(2, Grades.JOUEUR.getPower());
- q.execute();
- q.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- public boolean hasAccount(Player p){
- //SELECT
- try {
- PreparedStatement q = (PreparedStatement) connection.prepareStatement("SELECT uuid FROM joueurs WHERE uuid = ?");
- q.setString(1, p.getUniqueId().toString());
- ResultSet resultat = q.executeQuery();
- boolean hasAccount = resultat.next();
- q.close();
- return hasAccount;
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return false;
- }
- //hrhqrh
- public void setGrade(Player p, Grades g){
- DataPlayer dataP = pl.dataPlayers.get(p);
- dataP.setGrade(g);
- pl.dataPlayers.remove(p);
- pl.dataPlayers.put(p, dataP);
- }
- public Grades getGrade(Player p){
- if(pl.dataPlayers.containsKey(p)){
- DataPlayer dataP = pl.dataPlayers.get(p);
- return dataP.getGrade();
- }
- return Grades.JOUEUR;
- }
- public DataPlayer createDataPlayer(Player p){
- if(pl.dataPlayers.containsKey(p)){
- try{
- PreparedStatement rs = connection.prepareStatement("SELECT grade FROM joueurs WHERE uuid = ?");
- rs.setString(1, p.getUniqueId().toString());
- ResultSet resultats = rs.executeQuery();
- Grades g = Grades.JOUEUR;
- while(resultats.next()){
- g = Grades.powerToRank(resultats.getInt("grade"));
- }
- DataPlayer dataP = new DataPlayer();
- dataP.setGrade(g);
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- return new DataPlayer();
- }
- public void majPlayerData(Player p){
- if(pl.dataPlayers.containsKey(p)){
- DataPlayer dataP = pl.dataPlayers.get(p);
- Grades g = dataP.getGrade();
- int power = g.getPower();
- try {
- PreparedStatement rs = connection.prepareStatement("UPDATE joueurs SET grade = ? WHERE uuid = ?");
- rs.setInt(1, power);
- rs.setString(2, p.getUniqueId().toString());
- rs.executeUpdate();
- rs.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment