使用 DB2 和 myBatis。一些背景:我在一个表上有一个触发器,当删除一行并将该行插入历史表时应该触发,我希望删除该行的用户(不是连接用户)反映在这个列中桌子。
到目前为止,我已经编写了触发器,以便它使用 DB2 的CLIENT_USERID
寄存器来获取用户,并且还编写了一个 myBatis 拦截器,只要setClientInfo
在 Connection 上准备了一条语句,它就应该设置用户。
拦截器类注解如下:
@Intercepts({@Signature(
type = StatementHandler.class,
method = "prepare",
args = {Connection.class})})
拦截有效,但是当我尝试setClientInfo
在拦截方法 (Connection) 的参数上调用该方法时,结果证明该方法是抽象的。
有没有更简单的方法可以做到这一点,或者这会起作用吗?我该如何解决这个问题?
感谢您看这篇文章!