Author:ddwcyl
今天,同事反应在使用P6SPY跟踪SQL时感觉不愉快的是对每条查询结果,P6SPY总将其输出,如果查询结果集多的情况下,非常难以调试;另外,在调试时主要关注,替换绑定变量后真实的SQL,来检验业务的正确性,对变更的SQL,并不是太在意。
因为这两个问题的原因,查看了一下P6SPY的源代码,将其涉及的P6ResultSet和FormattedLogger两个类进行了修改,以满足项目调试的需要。
P6ResultSet 相关函数next()修改如下,修改的地方用红色粗体标出:
原始代码为:
public boolean next() throws SQLException {
// only dump the data on subsequent calls to next
if (currRow > -1){
long startTime = System.currentTimeMillis();
StringBuffer buffer = new StringBuffer();
String comma = "";
for (Iterator itr = resultMap.keySet().iterator(); itr.hasNext();){
String index = (String)itr.next();
buffer.append(comma);