问题描述
我们如何从JointPoint(在logJdbcOperation中)的调用方法(deleteTask)中获取参数值(uId)?我能够记录 sql 语句和 sql 参数,但找不到记录 uId 值的方法。 请指导我。
public int deleteTask(String taskname,String uId) {
String sql = "delete from shedlock where NAME= :name";
MapSqlParameterSource namedParameters = new MapSqlParameterSource();
((MapSqlParameterSource) namedParameters).addValue("name",taskname,Types.VARCHAR);
return namedJdbcTemplate.update(sql,namedParameters);
}
@Aspect
@Component
public class LoggingAspect {
private static final Logger LOGGER = LogManager.getLogger(LoggingAspect.class);
@Before("execution(* org.springframework.jdbc.core..NamedParameterJdbcOperations.*(String,..))")
public void logJdbcOperation(JoinPoint jp) {
Object[] methodArgs = jp.getArgs();
String statement = methodArgs[0].toString();
MapSqlParameterSource params = (MapSqlParameterSource)methodArgs[1];
LOGGER.debug("SQL statement:" + statement);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)