MyBatis String 作为参数
我想在 MyBatis 中使用 String 参数作为 Select 语句。我的映射器.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”的值时,它是表的确切名称。当我将表的名称写入映射器时.xml没有变量,它就可以工作。我做错了什么?