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

Sử dụng câu lệnh Prepared đúng với điều kiện WHERE trong trường hợp có bất kỳ giá trị nào trong MySQL Java

Đối với điều này, bạn có thể sử dụng Chuẩn bị sẵn sàng trong Java. Sau đây là cú pháp -

String anyVariableName="select yourColumnName from yourTableName where name = ?";
PreparedStatement ps = (PreparedStatement) con.prepareStatement(yourVariableName);
ps.setString(yourColumnIndex, yourValue);

Hãy để chúng tôi tạo một bảng -

mysql> create table demo37
−> (
−> id int not null auto_increment primary key,
−> name varchar(200)
−> );
Query OK, 0 rows affected (2.46 sec)

Chèn một số bản ghi vào bảng với sự trợ giúp của lệnh insert -

mysql> insert into demo37(name) values('John');
Query OK, 1 row affected (0.09 sec)
mysql> insert into demo37(name) values('Bob');
Query OK, 1 row affected (0.08 sec)
mysql> insert into demo37(name) values('John');
Query OK, 1 row affected (0.09 sec)
mysql> insert into demo37(name) values('Chris');
Query OK, 1 row affected (0.08 sec)
mysql> insert into demo37(name) values('David');
Query OK, 1 row affected (0.12 sec)
mysql> insert into demo37(name) values('John');
Query OK, 1 row affected (0.13 sec)
mysql> insert into demo37(name) values('Mike');
Query OK, 1 row affected (0.09 sec)

Hiển thị các bản ghi từ bảng bằng câu lệnh select - / p>

mysql> select *from demo37;

Điều này sẽ tạo ra kết quả sau -

+----+-------+
| id | name  |
+----+-------+
|  1 | John  |
|  2 | Bob   |
|  3 | John  |
|  4 | Chris |
|  5 | David |
|  6 | John  |
|  7 | Mike  |
+----+-------+
7 rows in set (0.00 sec)

Ví dụ

Sau đây là mã Java cho Chuẩn bị -

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

Đầu ra

Điều này sẽ tạo ra kết quả sau -

John
John
John

Sau đây là ảnh chụp nhanh của đầu ra -

Sử dụng câu lệnh Prepared đúng với điều kiện WHERE trong trường hợp có bất kỳ giá trị nào trong MySQL Java