如何在 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 代码的快照 −
这是示例输出的快照 −