读书人

PreparedStatement不方便调试的有关问

发布时间: 2011-12-29 22:09:38 作者: rapoo

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信息。。。

怎么加?

读书人网 >J2SE开发

热点推荐