JDBC, come accedere ad un database da Java

Premetto che io dispongo del JDK 1.6.0_14 della Sun installato in /usr/lib/jvm/java-6-sun-1.6.0.14 sulla mia Ubuntu e del database MySQL 5.0.51a e che farò riferimento a questi strumenti per la mia guida.

Per poter accedere al database da Java è necessario scaricare il driver di MySQL da qui.

Estrarre il file tar.gz con il comando tar zxfv mysql-connector-java-5.1.8.tar.gz (cambiate i numeri 5.1.8 in base alla versione del driver che avete scaricato).

Dopo di ciò bisogna copiare il driver nella directory /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/ext

sudo cp mysql-connector-java-5.1.8-bin.jar /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/ext

e modificare la variabile di sistema CLASSPATH:

export CLASSPATH=$CLASSPATH:mysql-connector-java-5.1.8-bin.jar

Anche se sinceramente ho visto che a me funziona anche settare suddetta variabile.

Ora bisogna passare al codice:

Aggiungiamo il package import java.sql.*;

poi le variabili

Connection con = null;
Statement st = null;
ResultSet rs = null;

Aggiungiamo ora il driver con la riga

Class.forName("com.mysql.jdbc.Driver");
o esclusivamente la riga
DriverManager.registerDriver(new com.mysql.jdbc.Driver());

A questo punto abbiamo il driver, aggiungiamo la connessione:

con = DriverManager.getConnection("jdbc:mysql://localhost/nome_database", "nome_utente", "password");

Se il database non ha password si può utilizzare la funzione:

con = DriverManager.getConnection("jdbc:mysql://localhost/nome_database");

Per eseguire le query abbiamo bisogno di uno statement, quindi:

st = con.createStatement();

Ora per eseguire effettivamente la query si utilizza la riga

rs = st.executeQuery("select * from cliente");

e per vedere i risultati:

while (rs.next())
{
System.out.println("Codice cliente: " + rs.getString(1));
System.out.println("Partita IVA: " + rs.getString(2));
System.out.println("Ragione sociale: " + rs.getString(3));
System.out.println(" ");
}

Quando abbiamo finito con il database chiudiamo la connessione:

con.close();

Un esempio completo lo si trova di seguito:


mport java.sql.*;

public class DBConn
{

public static void main(String args[])
{
new DBConn();
}

public DBConn()
{
Connection con = null;
Statement st = null;
ResultSet rs = null;

try
{
//Class.forName("com.mysql.jdbc.Driver");
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
}/*catch(ClassNotFoundException e)
{
System.out.println("Errore: " + e.getException().getMessage());
System.exit(1);
}*/catch(SQLException e)
{
System.out.println("Errore : " + e.getSQLState());
System.exit(1);
}

try
{
con = DriverManager.getConnection("jdbc:mysql://localhost/cremonesi", "michele", "hellasverona");
}catch(SQLException e)
{
System.out.println("Errore : " + e.getSQLState());
System.exit(1);
}

try
{
st = con.createStatement();
}catch(SQLException e)
{
System.out.println("Errore : " + e.getSQLState());
System.exit(1);
}

try
{
rs = st.executeQuery("select * from cliente");
}catch(SQLException e)
{
System.out.println("Errore : " + e.getSQLState());
System.exit(1);
}

System.out.println();
try
{
while (rs.next())
{
System.out.println("Codice cliente: " + rs.getString(1));
System.out.println("Partita IVA: " + rs.getString(2));
System.out.println("Ragione sociale: " + rs.getString(3));
System.out.println(" ");
}
}catch(SQLException e)
{
System.out.println("Errore : " + e.getSQLState());
System.exit(1);
}

try
{
con.close();
}catch(SQLException e)
{
System.out.println("Errore : " + e.getSQLState());
System.exit(1);
}

}
}

Risorse:

http://dev.mysql.com/usingmysql/java/
http://www.soft-land.org/articoli/jdbc

Una risposta a JDBC, come accedere ad un database da Java

  1. Somebody in essence help make considerably reports I’d state. Which is the first time My spouse and i seen your internet site website and for that reason far? My spouse and i astonished while using examination you have made to produce this specific placed outstanding. Terrific procedure!

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: