2

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

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

但是春天不喜欢问号:-(

谢谢你的帮助!

4

2 回答 2

5

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

于 2013-04-24T04:20:23.473 回答
4

解释一下:Spring不是这里的罪魁祸首,异常是从您的数据库驱动程序一路抛出的。PreparedStatement不允许对表名进行参数化,您只能将 应用于?查询参数。如另一个答案中所述,解决此问题的唯一方法是将其插入查询字符串中。

于 2013-04-24T11:10:14.110 回答