0
のPostgreSQLとMyBatisの中で選択し実行しているとき、私はこのエラーを取得する設定中:私はmapper.xmlで、ここでエラーが発生しますエラーパラメータ
### The error may exist in data/mapper.xml
### The error may involve Transaccion.selectDeFraude-Inline
### The error occurred while setting parameters
### SQL: SELECT transaction_id, card_number, transaction_date, fraud FROM transactions.? ORDER BY card_number, transaction_date ASC;
### Cause: org.postgresql.util.PSQLException: ERROR: error de sintaxis en o cerca de «$1»
:
<select id="selectDeFraude" parameterType="String" resultMap="result">
SELECT transaction_id, card_number, transaction_date, fraud FROM transactions.#{tabla} ORDER BY card_number, transaction_date ASC;
</select>
これはですメソッドを呼び出して、選択:
public List<Transaccion> selectDeFraude(String tabla){
SqlSession session = sqlSessionFactory.openSession();
try {
List<Transaccion> list = session.selectList("Transaccion.selectDeFraude", tabla);
return list;
} finally {
session.close();
}
}
#{tabla}をテーブルの名前に置き換えてもうまくいきます。 mapperメソッドはどれも動作しませんが、#{something}を適切な値に置き換えるとすべてのマッパーメソッドが機能します。
SQLステートメントの最後にセミコロンがあります。このセミコロンでエラーが発生している可能性があります。セミコロンを削除して再試行できます。 – wasabi