我怎么看我的PreparedStatement是什么样的?

时间:2012-07-26 21:49:54

标签: java jdbc prepared-statement

  

可能重复:
  How can I get the SQL of a PreparedStatement?

我制作一个PreparedStatement(PS)并在其上运行一些setString(int a,String b)。 在此之后,我怎么看到我的PS最终看起来像什么?

1 个答案:

答案 0 :(得分:4)

如果我理解你,你会想要像:

    PreparedStatement pstmt = 
           connection.prepareStatement("insert into table tab(col) values(?)");
    pstmt.setString(1, "my string value");

然后你想要看到一个字符串:

"insert into table(col) values('my string value')"

我的意思是否正确?

如果是这样,我认为你做不到。我认为语句是在没有参数值的情况下预编译的,并且它们是分开保存的,因此您可以重用具有不同参数的语句。

您可以做的是检索参数元数据,如下所示:

    ParameterMetaData pmd = pstmt.getParameterMetaData();

然后调用类似的东西:

    pmd.getParameterCount();
    pmd.getParameterClassName(1);
    pmd.getParameterType(1);