1

使用 DB2 和 myBatis。一些背景:我在一个表上有一个触发器,当删除一行并将该行插入历史表时应该触发,我希望删除该行的用户(不是连接用户)反映在这个列中桌子。

到目前为止,我已经编写了触发器,以便它使用 DB2 的CLIENT_USERID寄存器来获取用户,并且还编写了一个 myBatis 拦截器,只要setClientInfo在 Connection 上准备了一条语句,它就应该设置用户。

拦截器类注解如下:

@Intercepts({@Signature(
        type = StatementHandler.class,
        method = "prepare",
        args = {Connection.class})}) 

拦截有效,但是当我尝试setClientInfo在拦截方法 (Connection) 的参数上调用该方法时,结果证明该方法是抽象的。

有没有更简单的方法可以做到这一点,或者这会起作用吗?我该如何解决这个问题?

感谢您看这篇文章!

4

0 回答 0