ITportal
a- a+

JDBC e l'accesso ai database (Parte II)

Pagina 2 di 4

UN TEST CON MYSQL
Il primo test sarà effettuato servendosi di MySQL, un noto DBMS open source. Per prima cosa, dunque, dovrete installare tale software nella vostra postazione di lavoro. MySQL è disponibile per diverse piattaforme. Il download può essere eseguito gratuitamente partendo dall'indirizzo http://www.mysql.com. MySQL dispone sia di un driver JDBC sia di un driver ODBC. Per questo primo test sarà impiegato il driver JDBC chiamato Connector/J, che può essere prelevato dalla pagina http://www.mysql.com/downloads/api-jdbc-stable .html. Affinché tale driver possa essere visto dalle applicazioni Java, è necessario notificare alla macchina virtuale la presenza dell'archivio JAR contenuto nel pacchetto scaricato. Per far ciò, è possibile operare in diversi modi. Se utilizzate Tomcat o un Application Server della medesima fattura, vi conviene copiare il pacchetto JAR nella cartella WEB-INF/lib dell'applicazione Web che a breve andremo a realizzare. Se queste due cartelle nidificate non esistono già all'interno dello spazio dedicato all'applicazione, createle da voi. In altri casi, è possibile depositare una copia dell'archivio JAR all'interno della directory jre/lib/ext, nella cartella che contiene l'installazione di Java. Naturalmente, i percorsi e le operazioni necessarie possono variare da un sistema all'altro. Un'altra efficace tecnica è l'aggiunta del percorso dell'archivio JAR nella variabile di sistema CLASSPATH. Una volta completate le operazioni preliminari, è necessario realizzare un database MySQL utile per il test. Attivate il DBMS, quindi connettetevi ad esso servendovi dell'apposito programma da riga di comando contenuto nella cartella bin di MySQL (mysql.exe, per la versione Windows). Il primo comando da impartire è il seguente:

CREATE DATABASE JSPTest;

 

Quindi, selezionate il database per l'uso appena creato:
 

USE JSPTest;



Realizzate la tabella che sarà impiegata per il test, sfruttando il seguente codice SQL:
 

CREATE TABLE `Persone` (
  Nome  VARCHAR (50) NOT NULL,
  Cognome  VARCHAR (50) NOT NULL,
  Indirizzo VARCHAR (50) NOT NULL);



Infine, è necessario popolare la tabella con alcuni record esemplificativi:

INSERT INTO Persone (
  Nome, Cognome, Indirizzo) VALUES (
  'Mario', 'Rossi', 'Via Roma 25');
INSERT INTO Persone (Nome, Cognome, Indirizzo) 
  VALUES ('Luigi', 'Bianchi', 'Via Milano 38');
INSERT INTO Persone (Nome, Cognome, Indirizzo) 
  VALUES ('Antonio', 'Verdi', 'Via Genova 12');


Giunti a questo punto, abbiamo ottenuto una tabella Persone come quella mostrata di seguito:
 

Nome Cognome Indirizzo
Mario Rossi Via Roma 25
Luigi Bianchi Via Milano 38
Antonio Verdi Via Genova 12



Prepariamoci per utilizzare la tabella da una pagina JSP esemplificativa. Il codice necessario è riportato di seguito:

<%@ page import="java.sql.*" %>
<%! String DRIVER = "com.mysql.jdbc.Driver";
String DB_URL = "jdbc:mysql://localhost:3306/JSPTest";
%>
<html>
<head> <title>Corso di JSP, Lezione 11, Esempio 1</title>
</head>
<body>
  <h1>Accesso ad un database MySQL</h1>
  <% // Carico il driver.
  Class.forName(DRIVER);
  // Preparo il riferimento alla connessione.
  Connection connection = null;
   try { // Apro la connesione verso il database.
   Connection connection =
   DriverManager.getConnection(DB_URL);
  // Ottengo lo Statement per interagire con il database.
  Statement statement = connection.createStatement();
  // Interrogo il DBMS mediante una query SQL.
  ResultSet resultset = statement.executeQuery(
   "SELECT Nome, Cognome, Indirizzo FROM Persone");
  // Scorro e mostro i risultati.
  while (resultset.next()) {
  String nome = resultset.getString(1);
  String cognome = resultset.getString(2);
  String indirizzo = resultset.getString(3); %>
  <b>Nome:</b> <%= nome %><br>
  <b>Cognome:</b> <%= cognome %><br>
  <b>Indirizzo:</b> <%= indirizzo %><br><br>
  <% }
} catch (SQLException e) {
  // In caso di errore...
%><b>Eccezione:</b> <%= e.toString() %><%
  } finally {
   if (connection != null) connection.close(); }
%>
</body> </html>

 

Continua >>>



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Lorenzo
Hai qualche domanda da fare?