JDBC - Esempio di inserimento record

Questo capitolo fornisce un esempio su come inserire record in una tabella utilizzando l'applicazione JDBC. Prima di eseguire il seguente esempio, assicurati di avere quanto segue in atto:

  • Per eseguire il seguente esempio è possibile sostituire il nome utente e la password con il nome utente e la password effettivi.

  • Il tuo MySQL o qualsiasi altro database che stai utilizzando è attivo e funzionante.

Passaggi obbligatori

I seguenti passaggi sono necessari per creare un nuovo database utilizzando l'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 un server di database.

  • Execute a query: Richiede l'utilizzo di un oggetto di tipo Statement per la creazione e l'invio di un'istruzione SQL per inserire record in una tabella.

  • Clean up the environment: Richiede la chiusura esplicita di tutte le risorse del database anziché fare affidamento sulla garbage collection della JVM.

Codice d'esempio

Copia e incolla il seguente esempio in JDBCExample.java, compila ed esegui come segue:

//STEP 1. Import required packages
import java.sql.*;

public class JDBCExample {
   // JDBC driver name and database URL
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://localhost/STUDENTS";

   //  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 a selected database...");
      conn = DriverManager.getConnection(DB_URL, USER, PASS);
      System.out.println("Connected database successfully...");
      
      //STEP 4: Execute a query
      System.out.println("Inserting records into the table...");
      stmt = conn.createStatement();
      
      String sql = "INSERT INTO Registration " +
                   "VALUES (100, 'Zara', 'Ali', 18)";
      stmt.executeUpdate(sql);
      sql = "INSERT INTO Registration " +
                   "VALUES (101, 'Mahnaz', 'Fatma', 25)";
      stmt.executeUpdate(sql);
      sql = "INSERT INTO Registration " +
                   "VALUES (102, 'Zaid', 'Khan', 30)";
      stmt.executeUpdate(sql);
      sql = "INSERT INTO Registration " +
                   "VALUES(103, 'Sumit', 'Mittal', 28)";
      stmt.executeUpdate(sql);
      System.out.println("Inserted records into the table...");

   }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)
            conn.close();
      }catch(SQLException se){
      }// do nothing
      try{
         if(conn!=null)
            conn.close();
      }catch(SQLException se){
         se.printStackTrace();
      }//end finally try
   }//end try
   System.out.println("Goodbye!");
}//end main
}//end JDBCExample

Ora, compiliamo l'esempio sopra come segue:

C:\>javac JDBCExample.java
C:\>

Quando corri JDBCExample, produce il seguente risultato:

C:\>java JDBCExample
Connecting to a selected database...
Connected database successfully...
Inserting records into the table...
Inserted records into the table...
Goodbye!
C:\>