This week's book giveaway is in the Agile and Other Processes forum.
We're giving away four copies of The Little Book of Impediments (e-book only) and have Tom Perry on-line!
See this thread for details.
Win a copy of The Little Book of Impediments (e-book only) this week in the Agile and Other Processes forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

My new favourite thing: DebuggableStatement

 
David O'Meara
Rancher
Posts: 13459
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I use PreparedStatements a lot, but the biggest thing that annoys me about them is that you can't print them out after you have set the values. A PreparedSatement has no meaningful 'toString' implementation.
Until this.
This article from JavaWorld provides a simple way to add a wrapper to a PreparedStatement so that you can print the equivalent SQL and see what the current state is.
I'm still playing with it, but it's much better than not having any way of seeing inside a PreparedStatement.
Dave
 
Avi Abrami
Ranch Hand
Posts: 1141
1
Java Oracle
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What, haven't you heard about P6Spy?
http://www.p6spy.com/
[Or is that not suitable for you?]
Cheers,
Avi.
 
SJ Adnams
Ranch Hand
Posts: 925
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I prefer the solution that just means changing the driver name to enable statement/timing logging rather than rewritting code. (i.e. P6spy)
That said, you might as well just use the oracle tracing utilities.
Simon
 
David O'Meara
Rancher
Posts: 13459
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
We plugged the DebuggableStatement into our persistence framework so its use is defined by the debugging property. ie when we are in debug mode, it also uses the DebuggableStatement to log statements, otherwise it uses PreparedStateents directly.
I'm still not convinced the DebuggableStatement behaves exactly the same as a PreparedStatment, so I'm being wary, but it has definitely made the last two days easier for me.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic