jdk的 PreparedStatement接口并未定义get方法,不同厂商的jdbc驱动实现类不知道是否提供,你可以查一下,我查了oracle的驱动也没有提供。
所以只能换一种思路解决,在set的时候先将参数存入一个Map,然后取的时候从map取。

解决方案 »

  1.   

    服了,你自己放进去的参数,还要从preparedStatement取出来?你不觉得很ugly吗?
      

  2.   

    服了吧?谁告诉你是我自己放进去的?
    不知道你们的SQL Logger是如何打印的呢?
    难道是logger.Log("select * from table where field1="+value1+".......)?我是想通过DAO(我们自己的DAO基类,封装了DAOSelectStatement/DAOUpdateStatement等)
    将PreparedStatement赋值后将Log SQL.
      

  3.   

    应该没有通用的方法,否则Hibernate在打印SQL的时候也不会挂着"?"了。dragon525() 推荐的方法不错,你可以设置一个变量isDebug,如果为true,就用一个Map保存set的参数,如果是false,就不保存了。
      

  4.   

    呵呵,原来是要log 还以为你要干嘛呢?:)
    试试P6SPY吧。
    http://www.javaeye.com/topic/4143