3

私は mybatis 3.2.2 を使用しています。すべてのマッパー インターフェイスは、次のようなコードの基本インターフェイスを拡張します: 基本インターフェイス:

public interface BaseMapper<T>{
   public int insert(T record);
   public int insertSelective(T record);
}

public interface JobMapper extends BaseMapper<Job>{
}

次に、不活性メソッドをテストします。

jobMapper.insert(job);

エラーは次のとおりです。

java.lang.NoSuchMethodError: com.xxx.framework.dao.ifaces.JobMapper.insert(Lcom/xxx/framework/model/Job;)I

しかし、このような場合:

public interface BaseMapper{
   public int insert(Job record);
   public int insertSelective(Job  record);
}

public interface JobMapper  extends BaseMapper{
}

結果は正しいです。

追加、更新、削除などの一般的なメソッドを実装するために、ジェネリックベースインターフェイスを使用したいのですが、誰か教えてもらえますか?

4

1 に答える 1

0

私のプロジェクトの 1 つに汎用ベース インターフェイスの実例があるので、これは適切な mybatis 構成で可能です。ただし、mybatis 構成をアタッチしていないため、状況で何が問題なのかを判断するのは困難です。

この問題を解決するには、型エイリアス パッケージ構成を追加してみてください (まだ持っていない場合)。

<typeAliases>
    <package name="com.xxx.framework.model"/>
</typeAliases>

ドキュメントを参照してください。

于 2013-11-22T08:56:36.740 に答える