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でのselectクエリにプリペアドステートメントを使用するにはどうすればよいですか?
これにはexecuteQuery()を使用する必要があります。構文は次のとおりです- yourPreparedStatementObject=yourConnectionObject.prepareStatement(yourQueryName); yourresultSetObject=yourPreparedStatementObject.executeQuery(); データベースの「サンプル」にテーブルを作成します。テーブルを作成するためのクエリは次のとおりです- mysql> create table JavaPreparedStatement -> ( -
-
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, −&