日期:2014-05-20  浏览次数:20760 次

PreparedStatement不方便调试的问题
开发的时候用PreparedStatement,往往在出错的时候不知道执行的sql语句到底是什么
网上找了下对PreparedStatement封装的例子:如下链接:
http://dev.csdn.net/article/32/32010.shtm

不知道谁有更好的例子

------解决方案--------------------
关注,如果SQL语句执行出错的话,应该可以知道哪个方法出的错,进入该方法再看就行了。莫非你想不看方法内部实现就定位错误?
------解决方案--------------------
至少你还有sql的日志啊! 你可以
1 在执行前,把参数打印出来
2 hibernate的show_sql 能自动显示绑定的变量
3 打开数据库的sql日志,每个运行的sql都有记录
------解决方案--------------------
大家回答的都全面,不过LZ的前提条件是PreparedStatement。

1、打印参数可能比较麻烦,不通用。
2、可以参考ibatis的做法,将参数放入MAP,这样方便;打印也如此。
3、sql的问题,如果经验丰富,应该很容易查错的
4、建议将sql放到命令行执行看报什么错,这样快捷修改问题
5、写sql小心,仔细检查sql的语法,养成写好sql后,认真检查的好习惯。
------解决方案--------------------
如果用hibernate的话,将show_sql设置为true就可以看到SQL语句了。
如果直接用JDBC,看你用什么数据库了。
如果用sql server,打开“事件探查器”你就可以看到每次执行的SQL语句。
如果用mysql,看这里吧。
http://www.forjj.com/article.asp?id=57
------解决方案--------------------
探讨
引用:
加debug信息。。。

怎么加?