1

このポイントカットで mybatis を使用して db 呼び出しをプロファイリングするためのアスペクトを作成したい

@Pointcut("execution(public * org.example.mybatisgenerated.*Mapper+.*(..) )")
public void anyGeneratedMapperMethod(){}

問題は、マッパーはインターフェースであり、このような具象クラスがないことです。

public interface SampleMapper {

  int deleteByPrimaryKey(String sampleGuid);

  int insert(Sample record);
}

マッパーの実装 (実際の SQL スクリプト) は xml ファイルにあります。具象クラスはプロキシとして作成されます。どうにかマッパーのすべてのメソッドにアドバイスすることは可能ですか?

Aspectj ロードタイム ウィービングが使用されます。これは別の種類の織りで可能かもしれません。すべてのマッパーを具体的な実装でラップしたくありません。無駄なクラスがたくさんできてしまいます。

4

1 に答える 1

2

MyBatis にはインターセプターの組み込み機能があります。多分あなたはそれを使うことができますか?

于 2012-09-19T12:57:56.710 に答える