我的应用程序动态创建表,我不知道如何使用 Spring jdbc 读取表而不将其硬编码到字符串查询中。我在想这样的事情:
jdbcTemplate.query("SELECT * FROM ?", new Object[] { tableName }, new TableMapper());
但是春天不喜欢问号:-(
谢谢你的帮助!
尝试String query = String.format("SELECT * FROM %s", tableName);
解释一下:Spring
不是这里的罪魁祸首,异常是从您的数据库驱动程序一路抛出的。PreparedStatement
不允许对表名进行参数化,您只能将 应用于?
查询参数。如另一个答案中所述,解决此问题的唯一方法是将其插入查询字符串中。