java - 我可以获得 PreparedStatement 即将执行的完整查询吗?

标签 java mysql prepared-statement

<分区>

我正在使用带有 MySQL 服务器的 PreparedStatement

例子:

String myQuery = "select id from user where name = ?";
PreparedStatement stmt  = sqlConnection.prepareStatement(myQuery);
stmt.setString(1, "test");
stmt.executeQUery();
ResultSet rs = stmt.getResultSet();

如何接收即将在 MySQL 服务器 上执行的完整 SQL 查询

最佳答案

它不是 JDBC 规范强制要求的,但是一些 JDBC 驱动程序让 PreparedStatementtoString 返回将要运行的查询的排序,以及 MySQL 的连接器/J 恰好有这种行为(或者至少几年前有)。

String myQuery = "select id from user where name = ?";
PreparedStatement stmt  = sqlConnection.prepareStatement(myQuery);
stmt.setString(1, "test");
System.out.println(stmt); // May do what you want!

关于java - 我可以获得 PreparedStatement 即将执行的完整查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3038523/

相关文章:

java - 使用 Stanford CoreNLP 进行惰性解析以仅获取特定句子的情绪

php - sql - 在没有额外查询的情况下更新时检查行是否存在?

php - 从用户输入构建动态 PHP 准备语句

c++ - 尝试修改 sqlite3 插入以返回 PK。不确定如何具体使用 sqlite3

java - Java 或 EJB 中的池化概念?

java - Android简单的小部件

java - 使用带有 Java 的 JSON API 在 Google Cloud Storage 中插入对象(作为文件夹)

mysql - Rails 高级 sql 查询

mysql - 如何将查询存储到变量中以便我可以使用它两次?

PHP:为什么 mysqli_fetch_assoc() 不起作用?我正在使用 mysqli_stmt_get_result()