Statement và PreparedStatement đều là 2 interface cung cấp các method dùng để thực thi các câu truy vấn xuống database. Thế nhưng chúng được dùng với 2 mục đích riêng biệt, chúng ta sẽ cùng tìm hiểu ngay sau đây.
Statement được dùng để truy cập vào database tuy nhiên nó không cung cấp cơ chế truyền tham số vào câu truy vấn. Do vậy Statement sẽ hữu ích khi chúng ta sử dụng các câu truy vấn tĩnh, không chứa tham số đầu vào.
//Creating The Statement Object Statement GFG = con.createStatement(); //Executing The Statement GFG.executeUpdate("CREATE TABLE STUDENT(ID NUMBER NOT NULL, NAME VARCHAR)");
PreparedStatement cho phép triển khai các câu truy vấn nhận tham số đầu vào, vì vậy nó thích hợp để xây dựng các câu truy vấn có thể sử dụng nhiều lần với các tham số đầu vào khác nhau.
//Creating the PreparedStatement object PreparedStatement GFG = con.prepareStatement("update STUDENT set NAME = ? where ID = ?"); //Setting values to place holders //Assigns "RAM" to first place holder GFG.setString(1, "RAM"); //Assigns "512" to second place holder GFG.setInt(2, 512); //Executing PreparedStatement GFG.executeUpdate();
Nguồn
https://www.geeksforgeeks.org/difference-between-statement-and-preparedstatement/