gpt4 book ai didi

java - 我可以在执行之前使用 AspectJ 切入点修改执行的 SQL

转载 作者:太空宇宙 更新时间:2023-11-04 08:41:19 25 4
gpt4 key购买 nike

我正在尝试使用 AspectJ 将特定的 SQL 片段添加到系统中执行的所有 SQL 中。

我以前没有使用过 AspectJ,但我相信我需要做的是在

上创建切入点

调用(PreparedStatement Connection.prepareStatement(字符串))

并提供建议

之前(连接con,字符串sql): 调用(PreparedStatement Connection.prepareStatement(String)) && 目标(反) && 参数(sql) { sql = "执行 myStordProc();"+ sql;}

之后 Connection.prepareStatement() 方法将继续使用更改后的字符串?

或者我应该拦截对prepareStatement和executeQuery的调用并创建一条建议,将其更改为addBatch(),添加我的存储过程调用作为第一个批处理sql,然后原始sql最终使用executeBatch()执行?

任何指示将不胜感激。

谢谢

最佳答案

如果您想修改参数值,则需要使用 around 建议,以便可以使用修改后的值进行调用:

around(...): ... {
proceed("exec myStordProc();" + sql);
}

关于java - 我可以在执行之前使用 AspectJ 切入点修改执行的 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5244634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com