如何在 Java 和 MySQL 中使用准备好的语句进行选择查询?

mysqlmysqli databasejava 8更新于 2023/12/14 9:24:00

您需要为此使用 executeQuery()。语法如下 −

yourPreparedStatementObject=yourConnectionObject.prepareStatement(yourQueryName);
yourresultSetObject=yourPreparedStatementObject.executeQuery();

在数据库"sample"中创建一个表。创建表的查询如下 −

mysql> create table JavaPreparedStatement
   -> (
   -> Id int,
   -> Name varchar(10),
   -> Age int
   -> );
Query OK, 0 rows affected (0.89 sec)

使用 insert 命令在表中插入一些记录。 查询语句如下 −

mysql> insert into JavaPreparedStatement values(1,'Larry',23);
Query OK, 1 row affected (0.16 sec)
mysql> insert into JavaPreparedStatement values(2,'Sam',25);
Query OK, 1 row affected (0.21 sec)
mysql> insert into JavaPreparedStatement values(3,'Mike',26);
Query OK, 1 row affected (0.12 sec)

现在您可以使用 Java PreparedStatement 显示表的所有记录。您需要使用 executeQuery() 方法。

以下是 Java 代码 −

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class PreparedStatementSelectQueryDemo {
   public static void main(String[] args) {
      String JdbcURL = "jdbc:mysql://localhost:3306/sample?useSSL=false";
      String Username = "root";
      String password = "123456";
      Connection con = null;
      PreparedStatement pstmt = null;
      ResultSet rst = null;
      String myQuery = "select Id,Name,Age from JavaPreparedStatement";
      try {
         con = DriverManager.getConnection(JdbcURL, Username, password);
         pstmt = con.prepareStatement(myQuery);
         rst = pstmt.executeQuery();
         System.out.println("Id\t\tName\t\tAge
");          while(rst.next()) {             System.out.print(rst.getInt(1));             System.out.print("\t\t"+rst.getString(2));             System.out.print("\t\t"+rst.getInt(3));             System.out.println();          }       } catch(Exception exec) {          exec.printStackTrace();       }    } }

这是 Java 代码的快照 −

这是示例输出的快照 −


相关文章