JDBC - Esempio, codice di esempio
Questo capitolo fornisce un esempio di come creare una semplice applicazione JDBC. Questo ti mostrerà come aprire una connessione al database, eseguire una query SQL e visualizzare i risultati.
Tutti i passaggi menzionati in questo esempio di modello verranno spiegati nei capitoli successivi di questo tutorial.
Creazione dell'applicazione JDBC
Ci sono i seguenti sei passaggi coinvolti nella creazione di un'applicazione JDBC:
Import the packages:Richiede di includere i pacchetti contenenti le classi JDBC necessarie per la programmazione del database. Molto spesso, sarà sufficiente utilizzare import java.sql. * .
Register the JDBC driver: Richiede l'inizializzazione di un driver in modo da poter aprire un canale di comunicazione con il database.
Open a connection:Richiede l'utilizzo del metodo DriverManager.getConnection () per creare un oggetto Connection, che rappresenta una connessione fisica con il database.
Execute a query: Richiede l'utilizzo di un oggetto di tipo Statement per la creazione e l'invio di un'istruzione SQL al database.
Extract data from result set:Richiede l'utilizzo del metodo ResultSet.getXXX () appropriato per recuperare i dati dal set di risultati.
Clean up the environment: Richiede la chiusura esplicita di tutte le risorse del database anziché fare affidamento sulla raccolta dati inutili della JVM.
Codice d'esempio
Questo esempio di esempio può servire come file template quando è necessario creare la propria applicazione JDBC in futuro.
Questo codice di esempio è stato scritto in base all'ambiente e alla configurazione del database eseguita nel capitolo precedente.
Copia e incolla il seguente esempio in FirstExample.java, compila ed esegui come segue:
//STEP 1. Import required packages
import java.sql.*;
public class FirstExample {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/EMP";
// Database credentials
static final String USER = "username";
static final String PASS = "password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
//STEP 2: Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
//STEP 3: Open a connection
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
//STEP 4: Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql;
sql = "SELECT id, first, last, age FROM Employees";
ResultSet rs = stmt.executeQuery(sql);
//STEP 5: Extract data from result set
while(rs.next()){
//Retrieve by column name
int id = rs.getInt("id");
int age = rs.getInt("age");
String first = rs.getString("first");
String last = rs.getString("last");
//Display values
System.out.print("ID: " + id);
System.out.print(", Age: " + age);
System.out.print(", First: " + first);
System.out.println(", Last: " + last);
}
//STEP 6: Clean-up environment
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
//Handle errors for JDBC
se.printStackTrace();
}catch(Exception e){
//Handle errors for Class.forName
e.printStackTrace();
}finally{
//finally block used to close resources
try{
if(stmt!=null)
stmt.close();
}catch(SQLException se2){
}// nothing we can do
try{
if(conn!=null)
conn.close();
}catch(SQLException se){
se.printStackTrace();
}//end finally try
}//end try
System.out.println("Goodbye!");
}//end main
}//end FirstExample
Ora compiliamo l'esempio sopra come segue:
C:\>javac FirstExample.java
C:\>
Quando corri FirstExample, produce il seguente risultato:
C:\>java FirstExample
Connecting to database...
Creating statement...
ID: 100, Age: 18, First: Zara, Last: Ali
ID: 101, Age: 25, First: Mahnaz, Last: Fatma
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal
C:\>