Я хочу использовать параметр String для оператора Select в MyBatis. Мой mapper.xml:
<select id="selectAll" parameterType="String" resultMap="fastXMLResultMap">
SELECT CREATIONDATE, DOCUMENTID, TITEL, REGTITEL, INFORCEDATE, DOCTYPE
FROM #{databBaseTable}
</select>
И вызывающая функция:
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();
}
}
Строка dataBaseTable — это имя таблицы моей базы данных (, кто бы мог подумать, что ), потому что я хочу получать данные динамически из разных таблиц.
Но, к сожалению, это не работает :Ошибка :ORA -00903 :Ungültiger Tabellenname (неверное имя таблицы ), но это не так. Когда я распечатываю значение «databBaseTable», это точное имя таблицы. И когда я пишу имя таблицы в свой mapper.xml без переменной, он работает. Что я делаю неправильно?