14 febbraio 2010

Usare JDBC per connettersi a Mysql da Java

Introduzione
Lo scopo di questo tutorial è quello di eseguire i seguenti passi :
- Scaricare e installare un database MySQL
- Preparare il database per essere usato tramite i JDBC
- Scrivere e testare la nostra prima applicazione che usa i JDBC

Che cosa è JDBC ?
JDBC (Java DataBase Connectivity), è un connettore per database che consente l'accesso alle basi di dati da qualsiasi programma scritto con il linguaggio di programmazione Java, indipendentemente dal tipo di DBMS utilizzato. È costituita da una API, raggruppata nel package java.sql, che serve ai client per connettersi a un database. Fornisce metodi per interrogare e modificare i dati. È orientata ai database relazionali ed è Object Oriented. La piattaforma Java 2 Standard Edition contiene le API JDBC, insieme all'implementazione di un bridge JDBC-ODBC, che permette di connettersi a database relazionali che supportino ODBC. Questo driver è in codice nativo e non in Java.

Per poter utilizzare MySQL dalle vostre applicazioni Java è necessario scaricare il Connector/J dal seguente link.

Cosa è MySQL ?
MySQL è un Relational database management system (RDBMS), composto da un client con interfaccia a caratteri e un server, entrambi disponibili sia per sistemi Unix come GNU/Linux che per Windows, anche se prevale un suo utilizzo in ambito Unix.
Dal 1996 supporta la maggior parte della sintassi SQL e si prevede in futuro il pieno rispetto dello standard ANSI. Possiede delle interfacce per diversi linguaggi, compreso un driver ODBC, due driver Java e un driver per Mono e .NET.

Per poter installare MySQL è necessario scaricare il pacchetto adatto al vostro Sistema Operativo dal seguente link.

Adesso abbiamo tutto il necessario per poter utilizzare MySQL all' interno della nostra applicazione java.


CONFIGURARE TOMCAT e MYSQL per il recupero della connessione

Prima di procedere, è necessario copiare il Driver JDBC (Connector) nella cartella : $CATALINA_HOME/lib.

In secondo luogo nel caso si tratti di un applicazione WEB è possibile definire un datasource nel file di configurazione del server context.xml:
<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/>


Adesso tramite l'applicazione ed in particolare con il seguente pezzo di codice sarà possibile recuperare una connessione :

/***
* Classe di utilità per gestione connessioni
* @author alessandrofranzi
*
*/
public class DBAccess {
private static Logger logger = Logger.getRootLogger();

public DBAccess() {
}

/***
* Recupera la connessione
* @return : connessione
* @throws DatabaseException : eccezione personalizzata
*/
public static Connection getConnection() throws DatabaseException{
try {
InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup("java:comp/env/jdbc/TestDB");
return ds.getConnection();
} catch (NamingException e){
System.out.println("Eccezione : "+e.getMessage());
} catch (SQLException e){
System.out.println("Eccezione : "+e.getMessage());
} catch (Exception e){
System.out.println("Eccezione : "+e.getMessage());
}
}
}

Nessun commento: