MyBatis String como Parâmetro
Eu quero usar um parâmetro String para uma declaração Select em MyBatis. Meu mapper.xml:
<select id="selectAll" parameterType="String" resultMap="fastXMLResultMap">
SELECT CREATIONDATE, DOCUMENTID, TITEL, REGTITEL, INFORCEDATE, DOCTYPE
FROM #{databBaseTable}
</select>
E a função de chamada:
public List<FastXMLObject> selectAll(String databBaseTable) {
SqlSession session = sqlSessionFactory.openSession();
System.out.println("Table: "+databBaseTable);
try {
List<FastXMLObject> list = session.selectList("FastXMLObject.selectAll",databBaseTable);
return list;
} finally {
session.close();
}
}
A string dataBaseTable é o nome da tabela do meu banco de dados (quem teria pensado nisso) porque eu quero obter dados dinamicamente de tabelas verious.
Mas infelizmente isso não funciona: Erro: ORA-00903: Ungültiger Tabellenname (nome da tabela inválida), mas não é. Quando imprimo o valor de "databBaseTable", é o nome exato da tabela. E quando escrevo o nome da tabela para o meu mapper.xml sem uma variável, funciona. O que eu faço de errado?