Spring JDBC指定运行时查询的表

时间:2013-04-24 01:02:57

标签: mysql spring jdbc

我的应用程序动态创建表,我不知道如何使用Spring jdbc读取表而不将其硬编码到字符串查询中。我在考虑这样的事情:

jdbcTemplate.query("SELECT * FROM ?", new Object[] { tableName }, new TableMapper());

但春天不喜欢问号: - (

感谢您的帮助!

2 个答案:

答案 0 :(得分:5)

尝试String query = String.format("SELECT * FROM %s", tableName);

答案 1 :(得分:4)

一句解释:Spring不是这里的责任,从数据库驱动程序中一直抛出异常。 PreparedStatement不允许对表名进行参数化,您只能将?应用于查询参数。如the other answer中所述,解决此问题的唯一方法是将其插入查询字符串中。