Heim  >  Artikel  >  Datenbank  >  Was ist der Unterschied zwischen den Methoden „execute()“, „executeQuery()“ und „executeUpdate()“ in JDBC?

Was ist der Unterschied zwischen den Methoden „execute()“, „executeQuery()“ und „executeUpdate()“ in JDBC?

WBOY
WBOYnach vorne
2023-09-17 14:33:121256Durchsuche

JDBC 中的execute()、executeQuery() 和executeUpdate() 方法有什么区别?

Sobald Sie ein Anweisungsobjekt erstellt haben, können Sie es mit einer der Methoden „execute()“, „executeUpdate()“ und „executeQuery()“ der Statement-Schnittstelle ausführen.

execute()-Methode: Diese Methode wird zum Ausführen von SQL-DDL-Anweisungen verwendet. Sie gibt einen booleschen Wert zurück, der angibt, ob das ResultSet-Objekt abgerufen werden kann.

Example

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Example {
   public static void main(String args[]) throws SQLException {
      //Registering the Driver
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //Getting the connection
      String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");
      //Creating the Statement
      Statement stmt = con.createStatement();

      //Executing the statement
      String createTable = "CREATE TABLE Employee( "
         + "Name VARCHAR(255), "
         + "Salary INT NOT NULL, "
         + "Location VARCHAR(255))";
      boolean bool = stmt.execute(createTable);

      System.out.println(bool);
   }
}

Output

Connection established......
false

executeUpdate(): Diese Methode wird verwendet, um Einfüge-, Aktualisierungs-, Lösch- und andere Anweisungen auszuführen. Es gibt einen ganzzahligen Wert zurück, der die Anzahl der betroffenen Zeilen darstellt.

Example

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class ExecuteUpdateExample {
   public static void main(String args[]) throws SQLException {
      //Registering the Driver
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //Getting the connection
      String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");
      //Creating the Statement
      Statement stmt = con.createStatement();
     
      String insertData = "INSERT INTO Employee("
         + "Name, Salary, Location) VALUES "
         + "('Amit', 30000, 'Hyderabad'), "
         + "('Kalyan', 40000, 'Vishakhapatnam'), "
         + "('Renuka', 50000, 'Delhi'), "
         + "('Archana', 15000, 'Mumbai')";

      int i = stmt.executeUpdate(insertData);
      System.out.println("Rows inserted: "+i);
   }
}

Output

Connection established......
Rows inserted: 4

executeQuery(): Diese Methode wird verwendet, um Anweisungen auszuführen, die Tabellendaten zurückgeben (z. B. select). Es gibt ein Objekt der ResultSet-Klasse zurück.

Beispiel

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ExecuteQueryExample {
   public static void main(String args[]) throws SQLException {
      //Registering the Driver
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //Getting the connection
      String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");
      //Creating the Statement
      Statement stmt = con.createStatement();

      //Retrieving data
      ResultSet rs = stmt.executeQuery("Select *from Employee");

      while(rs.next()) {
         System.out.print("Name: "+rs.getString("Name")+", ");
         System.out.print("Salary: "+rs.getInt("Salary")+", ");
         System.out.print("City: "+rs.getString("Location"));
         System.out.println();
      }
   }
}

Ausgabe

Connection established......
Name: Amit, Salary: 30000, City: Hyderabad
Name: Kalyan, Salary: 40000, City: Vishakhapatnam
Name: Renuka, Salary: 50000, City: Delhi
Name: Archana, Salary: 15000, City: Mumbai

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen den Methoden „execute()“, „executeQuery()“ und „executeUpdate()“ in JDBC?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen