67,514
社区成员
发帖
与我相关
我的任务
分享
if (log.isDebugEnabled()) {
int count = ps.getParameterMetaData().getParameterCount();
for (int i = 0; i < count; i++) {
sql = sql.replaceFirst("\\?", parameters[i].getClass().getName().equals("java.lang.String") ? "'"+parameters[i].toString()+"'" : parameters[i].toString());
}
log.debug("===当前执行SQL为===" + sql + ".");
}
还是贴一下完整的方法吧,省得有人抱怨我,O(∩_∩)O哈哈~
public int executeUpdate(StatementScope statementScope, Connection conn, String sql, Object[] parameters) throws SQLException {
ErrorContext errorContext = statementScope.getErrorContext();
errorContext.setActivity("executing update");
errorContext.setObjectId(sql);
PreparedStatement ps = null;
setupResultObjectFactory(statementScope);
int rows = 0;
try {
errorContext.setMoreInfo("Check the SQL Statement (preparation failed).");
ps = prepareStatement(statementScope.getSession(), conn, sql);
setStatementTimeout(statementScope.getStatement(), ps);
errorContext.setMoreInfo("Check the parameters (set parameters failed).");
statementScope.getParameterMap().setParameters(statementScope, ps, parameters);
errorContext.setMoreInfo("Check the statement (update failed).");
//打印调试信息 start
if (log.isDebugEnabled()) {
int count = ps.getParameterMetaData().getParameterCount();
for (int i = 0; i < count; i++) {
sql = sql.replaceFirst("\\?", parameters[i].getClass().getName().equals("java.lang.String") ? "'"+parameters[i].toString()+"'" : parameters[i].toString());
}
log.debug("===当前执行SQL为===" + sql + ".");
}
//打印调试信息 end
ps.execute();
rows = ps.getUpdateCount();
} finally {
closeStatement(statementScope.getSession(), ps);
}
return rows;
}