Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Statement trong JDBC là gì?


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

Tạo đối tượng Statement

Bạn có thể tạo đối tượng của interface này bằng phương thức createStatement() của interface Connection. Tạo statement bằng cách gọi phương thức này như sau:

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

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

Sau khi tạo đối tượng statement, bạn có thể thực thi nó bằng một trong các phương thức execute: execute(), executeUpdate() và executeQuery().

  • execute(): Dùng để thực thi các câu lệnh SQL DDL, trả về giá trị boolean cho biết có thể lấy đối tượng ResultSet hay không.

  • executeUpdate(): Dùng để thực thi các câu lệnh insert, update, delete. Trả về số nguyên đại diện cho số dòng bị ảnh hưởng.

  • executeQuery(): Dùng để thực thi các câu lệnh trả về dữ liệu dạng bảng (ví dụ SELECT). Trả về đối tượng lớp ResultSet.

Ví dụ

Chương trình JDBC sau minh họa cách tạo và thực thi statement.

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 { 
        // Đăng ký Driver 
        DriverManager.registerDriver(new com.mysql.jdbc.Driver()); 
        // Lấy kết nối 
        String mysqlUrl = "jdbc:mysql://localhost/testdb"; 
        Connection con = DriverManager.getConnection(mysqlUrl, "root", "password"); 
        System.out.println("Kết nối thành công......"); 
        // Tạo Statement 
        Statement stmt = con.createStatement(); 
        // Thực thi 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("Số dòng chèn: " + 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(); 
        } 
    } 
}

Kết quả

Kết nối thành công...... 
Số dòng chèn: 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