MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQL Javaの値の場合、WHERE条件でPreparedステートメントを正しく使用する


このために、JavaでPrepareStatementを使用できます。以下は構文です-

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

テーブルを作成しましょう-

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

挿入コマンド-

を使用して、いくつかのレコードをテーブルに挿入します。
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)

selectステートメントを使用してテーブルのレコードを表示する-/p>

mysql> select *from demo37;

これにより、次の出力が生成されます-

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

以下は、PrepareStatementの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();
      }
   }
}

出力

これにより、次の出力が生成されます-

John
John
John

以下は出力のスナップショットです-

MySQL Javaの値の場合、WHERE条件でPreparedステートメントを正しく使用する


  1. MySQLを使用したJavaでのselectクエリにプリペアドステートメントを使用するにはどうすればよいですか?

    これにはexecuteQuery()を使用する必要があります。構文は次のとおりです- yourPreparedStatementObject=yourConnectionObject.prepareStatement(yourQueryName); yourresultSetObject=yourPreparedStatementObject.executeQuery(); データベースの「サンプル」にテーブルを作成します。テーブルを作成するためのクエリは次のとおりです- mysql> create table JavaPreparedStatement -> ( -

  2. JavaのMySQLで検索変数を使用してLIKEを使用しているときに、引用符を正しく使用するにはどうすればよいですか?

    以下は、検索変数-でLIKEを使用するための正しい構文です。 String sqlQuery; sqlQuery = "select *from yourTableName where yourColumnName like '%" +yourSearchVariableName + "%'"; テーブルを作成しましょう- mysql> create table demo19 −> ( −> id int not null auto_increment primary key, −&