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

Sử dụng Prepared Statement đúng cách với điều kiện WHERE trong MySQL Java

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