mybatisを使用しているときにエラーThere is no getter for property named 'tablename' in 'class java.lang.String'
が発生しました。'class java.lang.String'に 'tablename'という名前のプロパティのゲッターがありません
マイマッパーXMLは、このようなものです:
<mapper namespace="com.company.mapper.BasicMapper">
<update id="dropTable" parameterType="String">
DROP TABLE ${tablename}
</update>
</mapper>
インタフェースは、このようなものです:私は${tablename}
を交換しようとした
public void dropTable(String tablename) {
basicMapper.dropTable(tablename);
}
:
public interface BasicMapper {
void dropTable(String tablename);
}
が、私はこの方法でそれを使います#{tablename}
と表示されていましたが、それは役に立ちませんでした。どうすればそれを動作させることができますか?
あなたはのカスタムオブジェクトを渡すことになっています'tablename'プロパティを持つクラスです。それ以外の場合、複数の値をどのように渡しますか? 'firstName'、' LastName'などを 'INSERT'または' UPDATE'文に追加しますか? – Andreas
@アンドレアスありがとう、私はあなたの方法を試み、それは働いた。しかし、 'tablename'プロパティを持つObjectの代わりにStringインスタンスを渡す方法があるのだろうかと思います。 – Searene
わからない。それができるかどうかを確認するには、MyBatisのマニュアルを参照する必要があります。 – Andreas