如何在Java中使用准备好的语句来进行MySQL的选择查询?
你需要使用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)
使用插入命令在表中插入一些记录。查询语句如下:
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代码的快照:
下面是样本输出的快照:
阅读更多:MySQL 教程