String sqlc ="select *from books bo_name like ?"
PreparedStatement pstmtc = con.prepareStatement(sqlc);
pstmtc.setString(1, "x");
我想得到 sqlc 的参数被替换后的语句select *from books bo_name like 'x';怎么得到呢?有没有这个方法?请前辈指点,谢!

解决方案 »

  1.   

    那在执行之前手动生成吧,以前看sql日志里面的都是?号,很郁闷
      

  2.   

    用elipse的话调试的时候可以看到
      

  3.   

    没明白什么意思,是不是:
    void findBooks(String bookname)
    {
      //...
      String sqlc ="select * from books bo_name like ?"
      PreparedStatement pstmtc = con.prepareStatement(sqlc);
      pstmtc.setString(1, bookname);
      log.debug("sqlc=" + sqlc.replaceAll("?", bookname));
      //...
      
      
    }