Diferencia entre los métodos Execute(), query() y Update() en Java

Antes de comenzar, tengamos un conocimiento previo de los parámetros que hacen uso de los siguientes tres parámetros de consulta, que son los siguientes:

  • ejecución booleana (String SQL): devuelve un valor booleano de verdadero si se puede recuperar un objeto ResultSet; de lo contrario, devuelve falso. Utilice este método para ejecutar sentencias SQL DDL o cuando necesite utilizar SQL verdaderamente dinámico.
  • int executeUpdate(String SQL): Devuelve el número de filas afectadas por la ejecución de la sentencia SQL. Utilice este método para ejecutar sentencias SQL, para las que espera que se vean afectadas varias filas, por ejemplo, una sentencia INSERTAR, ACTUALIZAR o ELIMINAR.
  • ResultSet executeQuery(String SQL): Devuelve un objeto ResultSet. Utilice este método cuando espere obtener un conjunto de resultados, como lo haría con una instrucción SELECT.

Se discuten de la siguiente manera enumerada de la siguiente manera:

  1. ejecutar()
  2. ejecutar la solicitud()
  3. ejecutar Actualizar()

Método 1: ejecutar()

  • Descripción: el método utilizado para todos los tipos de declaraciones SQL, y es decir, devuelve un valor booleano de VERDADERO o FALSO.
  • Tipo de devolución: este método devuelve un valor booleano. VERDADERO indica que la consulta devolvió un objeto de conjunto de resultados y FALSO indica que devolvió un valor int o no devolvió nada.
  • Uso: este método se utiliza para ejecutar consultas de selección y no selección.
  • Ejemplo : Todas las sentencias SQL.

Ilustración: 

Java

// Java Program to Illustrate usage of execute() Method
   
// Loading the driver using forName() method 
Class.forName(driver);
  
// Registering the driver using Drivermanager.getConnection() method 
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test",
                  "root", "1234");
  
// Get database connection
stmt = conn.createStatement();
  
// Use Connection to create a Statement object
  
// Execute SQL and return boolean value to 
// indicate whether it contains ResultSet
boolean hasResultSet = stmt.execute(sql);
  
// Condition holds true till there is a single element 
if (hasResultSet) 
{
  
    // If there is a ResultSet result set after execution
    rs = stmt.getResultSet();
    // Get the result set
  
    ResultSetMetaData rsmd = rs.getMetaData();
      
    // ResultSetMetaData is a metadata interface for analyzing result sets
    int  columnCount = rsmd.getColumnCount();
  
    // Getting the output ResultSet object
    // with help of object of ResultSet 
    while (rs.next ()) 
    {
  
        for (int i = 0 ; i < columnCount ; i++ ) 
        {
            System.out.print(rs.getString(i + 1) + "/t");
        }
        System.out.print("/n");
    }
} 
else 
{
  
    System.out.println ("The records affected by this SQL statement are" 
    + stmt.getUpdateCount () + "Article");
}

 
Método 2: ejecutar Query() 

  • Descripción: ahora este método ejecuta declaraciones que devuelven un conjunto de resultados al obtener algunos datos de la base de datos.
  • Uso: Este método se utiliza para ejecutar la consulta de selección.
  • Tipo de devolución: este método devuelve un objeto de conjunto de resultados que contiene el resultado devuelto por la consulta.
  • Uno de sus ejemplos que es muy común: ‘SELECCIONAR’

Ilustración: 

Java

// Java Program to Illustrate execute Query() Method 
  
// Again first step is to load and register drivers   
Class.forName("com.mysql.jdbc.Driver");
  
Connection  conn = null;
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test",
            "root","root");
// Using DriverManager to get database connection
  
Statement  stmt = conn.createStatement();
// Use Connection to create a Statement object
  
// Creating an object of ResultSet class 
ResultSet rs =stmt.executeQuery("select * from teacher");
  
// Execute the query statement and save the result
// Iterating over elements in above object 
while (rs.next()) 
{
  
           // Getting the output the query result
           System.out.println(rs.getInt(1) + "/t" +    rs.getString(2));  
}

Método 3: ejecutar Actualizar()

  • Descripción: este método se utiliza para la ejecución de la declaración DML (INSERTAR, ACTUALIZAR y ELIMINAR) que devuelve el valor int, el recuento de las filas afectadas.
  • Uso: Este método se utiliza para ejecutar consultas no seleccionadas. Este método se utiliza para ejecutar consultas de selección y no selección.
  • Tipo de retorno: un valor entero que representa el número de filas afectadas por la consulta. Será 0 para declaraciones que no devuelven nada.
  • Ejemplo:
DML->INSERT , UPDATE and DELETE
DDL-> CREATE, ALTER

Ilustración:    

  Class.forName("com.mysql.jdbc.Driver");
    // Load the database driver
 Connection  conn = null;
 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test",
        "root","1234");
    // Use DriverManager to get database connection
 Statement  stmt = conn.createStatement();
    // Use Connection to create a Statement object


 return stmt.executeUpdate(sql);
    // Execute the DML statement and return the number of records affected

Ahora, finalmente, concluyamos las diferencias en los tipos de devolución como se ve en las ilustraciones anteriores.

  1. ejecutar(): el tipo de devolución es booleano, lo que indica si ResultSet devuelve
  2. ejecutar consulta(): el método de tipo devuelve un conjunto de resultados, la ejecución devuelve los resultados de la consulta, a menudo se usa para realizar la consulta
  3. executeUpdate(): el tipo de retorno es int, que la implementación de una serie de filas afectadas después de la declaración sql, generalmente se usa para ejecutar declaraciones de modificación.

Publicación traducida automáticamente

Artículo escrito por rachanapriyadarshnisamal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *