Ciao ragazzi,
stavo facendo la mia prima connessione da java a mySql, premetto che uso Eclipse.
ho scaricato il file, l'ho scompattato, l'ho messo all'interno della cartella del progetto, credo di aver settato anche in modo corretto il classpath.
Ho un sistema Unix
Sto usando il seguente file per la connessione mysql-connector-java-5.1.10-bin
Se do il seguente codice, il programma mi stampa a video la seguente stringa "com.mysql.jdbc.Driver"
codice:
import java.sql.*;
public class prova{
public static void main(String[] args) {
//Connessione al database
Connection con;
//Prepara lo statement per lanciare il comando al database
PreparedStatement SQLPreparedStatement; // SQL ? ?
//Set di record risultante (elenco di righe della tabella che
//soddisfano il criterio della SELECT). SOLO PER LA QUERY SELECT!
ResultSet rsQuery; // Set di record
String SQL;
/*Stringa di connessione al database dove:
* localhost: macchina su cui gira il motore MySQL e il database a cui accedere
* 3307: porta MySQL a cui risponde la socket MySQL
* magazzino: nome Database a cui collegarci
* root: utente
* 1234: password dell'utente root
*/
final String URL = "jdbc:mysql://localhost:3307/magazzino?user=root";
try {
//Creazione di una istanza MySQL
Class.forName("com.mysql.jdbc.Driver").newInstance();
//Apertura della connessione al database
con = DriverManager.getConnection(URL);
System.out.println("Connessione OK!");
//Esempio di query DELETE
SQL = "DELETE FROM locazioni;";
SQLPreparedStatement = con.prepareStatement(SQL);
SQLPreparedStatement.executeUpdate();
SQLPreparedStatement.close();
System.out.println("Tabella vuota!");
//Esempio di query INSERT
SQL = "INSERT INTO locazioni(codice_locazione, settore, numero_scaffale, numero_ripiano) VALUES(?,?,?,?)";
//Creazione dello statement
SQLPreparedStatement = con.prepareStatement(SQL);
/*Impostazione dei parametri (valori da sostituire ai punti interrogativi).
* La numerazione parte da 1.
*/
SQLPreparedStatement.setString(1, "COD123");
SQLPreparedStatement.setString(2, "SET-ALIM");
SQLPreparedStatement.setInt(3, 33);
SQLPreparedStatement.setInt(4, 44);
//Esecuzione dello statement
SQLPreparedStatement.executeUpdate();
//Chiusura dello statement
SQLPreparedStatement.close();
System.out.println("Dati inseriti!");
//Esempio di UPDATE
SQL = "UPDATE locazioni SET giacenza_attuale = 50, giacenza_max = 100 WHERE codice_locazione = 'COD123'";
SQLPreparedStatement = con.prepareStatement(SQL);
SQLPreparedStatement.setInt(1, 10);
SQLPreparedStatement.setInt(2, 200);
SQLPreparedStatement.executeUpdate();
SQLPreparedStatement.close();
System.out.println("Dati aggiornati!");
//Esempio di SELECT
SQL = "SELECT * FROM locazioni;";
SQLPreparedStatement = con.prepareStatement(SQL);
/*le righe corrispondenti alla SELECT vengono memorizzate in rsQuery
* reQuery è un resultSet.
*/
rsQuery = SQLPreparedStatement.executeQuery();
//Ciclo e assegnazione delle righe del resultSet
while (rsQuery.next()) {
String loc = rsQuery.getString("codice_locazione");
String set = rsQuery.getString("settore");
int scaf = rsQuery.getInt("numero_scaffale");
int num = rsQuery.getInt("numero_ripiano");
System.out.println(loc + "\t" + set + "\t" + scaf + "\t" + num);
}
//Chiusura della connessione alla base di dati.
con.close();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}