2013-04-24 22 views
2

我的应用程序动态创建表,并且我不知道如何使用Spring jdbc读取表而不用将其硬编码到字符串查询中。我在想是这样的:Spring JDBC在运行时指定查询表

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

但春天不喜欢问号:-(

感谢所有帮助

回答

4

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

4

解释一个字! :Spring不是这里要指责的问​​题,从数据库驱动程序一路抛出异常。PreparedStatement不允许参数化表名,您可以应用?来查询参数LY。如the other answer所述,解决此问题的唯一方法是将其插入到查询字符串中。