Guida [TUTORIAL] Implementare un database MySQL nel tuo plugin!

Stato
Discussione chiusa ad ulteriori risposte.

AlessioDP

Sviluppatore
Amministratore
30 Gennaio 2012
4,899
216
966
1,801
Ultima modifica:
mysql.jpg

Salve inforgiani, in questa guida spiegherò come implementare una connessione MySQL al vostro plugin Bukkit/Spigot.


Per prima cosa bisogna implementare una connessione al server mysql, utilizzando 3 variabili:
Url del database, l'username e la password.
Per la connessione servono due variabili: Connection e Statement (Dove verranno eseguite le query)

Codice:
String database = "jdbc:mysql://ip:port/nomedatabase";
String username = "username";
String password = "password";
Connection connection;
Statement statement;
L'url del database è strutturato nel seguente modo:
ip = L'ip del server mysql
port = La porta mysql del server (Di default 3306)
nomedatabase = Il nome del database a cui si dovrà connettere

Esempio: jdbc:mysql://localhost:3306/inforge


Una volta dichiarate le variabili procediamo richiamando il Driver del MySQL, in java JDBC (Java DataBase Connectivity).
Codice:
try{
  Class.forName"com.mysql.jdbc.Driver");
} catch (SQLException ex){
  ex.printStackTrace();
}
Nel caso si verificasse un errore non è presente nessun driver mysql nella macchina.

Per effettuare una connessione tra il plugin e il server inizializziamo connection e statement, per eseguire le query SQL.
Codice:
String database = "jdbc:mysql://ip:port/nomedatabase";
String username = "username";
String password = "password";
Connection connection;
Statement statement;

try{
  Class.forName("com.mysql.jdbc.Driver");
  connection = DriverManager.getConnection(database, username, password);
  statement = connection.createStatement();
} catch (SQLException ex){
  ex.printStackTrace();
}
La variabile connection viene utilizzata per creare una connessione fra il plugin e il database mysql, chiamando la funzione getConnection dal DriverManager, inserendo come variabili d'ingresso, l'url del database, l'username e la password.
Invece, la variabile statement ti permette di eseguire update o query nel database.

Così facendo abbiamo creato la nostra base per eseguire query in MySQL.



Inviare una query al database

Ci sono tre modi di eseguire una query SQL nel tuo database, vengono scelti in base al funzionamento che si vuole ottenere.

execute(String query)
Viene principalmente per i SELECT, ritorna un valore true o false in base al ResultSet (Se esiste o meno)
Codice:
if(statement.execute("SELECT name FROM table")){
  // Esiste name nella tabella table
  ResultSet rs = statement.getResultSet(); // Prendi il risultato del SELECT
}


executeUpdate(String query)
Viene principalmente usata nelle query che non necessitano un ResultSet, come UPDATE, INSERT o DELETE.
Codice:
statement.executeUpdate("DELETE name FROM table WHERE name='inforge'");


executeQuery(String query)
Ritorna come valore un ResultSet, viene usato principalmente per i SELECT.
Codice:
ResultSet rs = statement.executeQuery("SELECT name FROM table WHERE name='inforge');
if(rs.next())
// Esiste il name inforge nella tabella table
else
// NON esiste il name inforge nella tabella table


Se vi state chiedendo cosa inserire in query la risposta è semplice, il comando MySQL, questa guida vi spiega come utilizzare il MySQL in Java. I comandi che si possono inserire sono praticamente infiniti, vengono scelti in base a quello che vuoi far fare al database.


Vietata la copia senza il mio permesso.
 
  • Mi piace
Reazioni: Nhoya
Stato
Discussione chiusa ad ulteriori risposte.