JDBC: muestra, código de ejemplo

Este capítulo proporciona un ejemplo de cómo crear una aplicación JDBC simple. Esto le mostrará cómo abrir una conexión de base de datos, ejecutar una consulta SQL y mostrar los resultados.

Todos los pasos mencionados en este ejemplo de plantilla se explicarán en los capítulos siguientes de este tutorial.

Creación de la aplicación JDBC

Hay los siguientes seis pasos involucrados en la construcción de una aplicación JDBC:

  • Import the packages:Requiere que incluya los paquetes que contienen las clases JDBC necesarias para la programación de la base de datos. La mayoría de las veces, basta con utilizar import java.sql. * .

  • Register the JDBC driver: Requiere que inicialice un controlador para poder abrir un canal de comunicación con la base de datos.

  • Open a connection:Requiere utilizar el método DriverManager.getConnection () para crear un objeto Connection, que representa una conexión física con la base de datos.

  • Execute a query: Requiere el uso de un objeto de tipo Statement para crear y enviar una sentencia SQL a la base de datos.

  • Extract data from result set:Requiere que utilice el método ResultSet.getXXX () apropiado para recuperar los datos del conjunto de resultados.

  • Clean up the environment: Requiere cerrar explícitamente todos los recursos de la base de datos en lugar de depender de la recolección de basura de la JVM.

Código de muestra

Este ejemplo de muestra puede servir como template cuando necesite crear su propia aplicación JDBC en el futuro.

Este código de muestra se ha escrito en función del entorno y la configuración de la base de datos realizada en el capítulo anterior.

Copie y pegue el siguiente ejemplo en FirstExample.java, compile y ejecute de la siguiente manera:

//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

Ahora compilemos el ejemplo anterior de la siguiente manera:

C:\>javac FirstExample.java
C:\>

Cuando corres FirstExample, produce el siguiente resultado:

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:\>