Sử dụng PreparedStatement trong Java. Cú pháp:
String query = "SELECT tenCot FROM tenBang WHERE name = ?";
PreparedStatement ps = (PreparedStatement) con.prepareStatement(query);
ps.setString(viTriCot, giaTri);
Tạo bảng demo37:
mysql> CREATE TABLE demo37 (
-> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> name VARCHAR(200)
-> );
Chèn dữ liệu:
mysql> INSERT INTO demo37(name) VALUES('John');
mysql> INSERT INTO demo37(name) VALUES('Bob');
mysql> INSERT INTO demo37(name) VALUES('John');
mysql> INSERT INTO demo37(name) VALUES('Chris');
mysql> INSERT INTO demo37(name) VALUES('David');
mysql> INSERT INTO demo37(name) VALUES('John');
mysql> INSERT INTO demo37(name) VALUES('Mike');
Hiển thị dữ liệu:
mysql> SELECT * FROM demo37;
Kết quả:
+----+-------+
| id | name |
+----+-------+
| 1 | John |
| 2 | Bob |
| 3 | John |
| 4 | Chris |
| 5 | David |
| 6 | John |
| 7 | Mike |
+----+-------+
Ví dụ Java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class PrepareStatementDemo {
public static void main(String[] args) {
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sampledatabase", "root", "123456");
String query = "SELECT name FROM demo37 WHERE name = ?";
PreparedStatement ps = (PreparedStatement) con.prepareStatement(query);
ps.setString(1, "John");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
System.out.println(rs.getString(1));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Kết quả
John
John
John