Computer >> Máy Tính >  >> Lập trình >> MySQL

Statement trong JDBC là gì?

Giao diện Statement đại diện cho câu lệnh SQL tĩnh, nó được sử dụng để tạo và thực thi các câu lệnh SQL mục đích chung bằng cách sử dụng các chương trình Java.

Tạo một tuyên bố

Bạn có thể tạo một đối tượng của giao diện này bằng cách sử dụng createStatement () phương thức của kết nối giao diện. Tạo một câu lệnh bằng cách gọi phương thức này như được hiển thị bên dưới.

Statement stmt = null;
try {
   stmt = conn.createStatement( );
   . . .
}
catch (SQLException e) {
   . . .
}
finally {
   . . .
}

Thực thi đối tượng Statement

Khi bạn đã tạo đối tượng câu lệnh, bạn có thể thực thi nó bằng một trong các phương thức thực thi, cụ thể là, execute (), executeUpdate () và, executeQuery ().

  • thực thi (): Phương thức này được sử dụng để thực thi các câu lệnh SQL DDL, nó trả về một giá trị boolean chỉ định thời tiết mà đối tượng ResultSet có thể được truy xuất.

  • executeUpdate (): Phương thức này được sử dụng để thực thi các câu lệnh như chèn, cập nhật, xóa. Nó trả về một giá trị số nguyên đại diện cho số hàng bị ảnh hưởng.

  • executeQuery (): Phương thức này được sử dụng để thực thi các câu lệnh trả về dữ liệu dạng bảng (ví dụ câu lệnh SELECT). Nó trả về một đối tượng của lớp ResultSet.

Ví dụ

Ứng dụng JDBC sau đây trình bày cách tạo và thực thi một câu lệnh.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class StatementExample {
   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/testdb";
      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);

      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);
      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();
      }
   }
}

Đầu ra

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