当前位置: 首页 > 知识库问答 >
问题:

Spring JDBC在运行时指定查询表

谭思博
2023-03-14

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

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

但spring不喜欢问号:-(

谢谢你的帮助!

共有2个答案

乔丁雨
2023-03-14

一个解释:Spring不是这里的罪魁祸首,异常是从DB驱动程序一路抛出的PreparedStatement不允许参数化表名,您可以应用 仅查询参数。正如在另一个答案中所指出的,解决这个问题的唯一方法是将其插入查询字符串中。

金晨
2023-03-14

试试String query=String。格式(“从%s中选择*,表名)

 类似资料:
  • 提前感谢! UPDATE:这是两个不同的查询,而不是delete查询中的语句。

  • 指定SQL查询 指定 SQL 查询,即在指定数据集集合中查找符合 SQL 条件的矢量要素,并在客户端中展示出来。 以 World 数据服务为例。使用接口 ol.supermap.FeatureService 在数据集 “World:Countries” 中查询 “SMID=247” 的矢量要素。 //指定SQL查询处理 var url = "http://support.supermap.com.

  • 指定ID查询 指定 ID 查询,即在数据集中查询符合指定 ID 的地理空间要素,并在客户端中展示出来。 以 World 数据服务为例。使用接口 ol.supermap.FeatureService 在数据集 “World:Countries” 中查询 ID 为 246 和 247 的地理空间要素。 //指定ID查询处理 url = "http://support.supermap.com.cn:8

  • 他们说现在com.hp.hpl.jena.sparql.Engine.Binding.BindingMap在这个版本中不是一个简单的类,而是一个接口。 如果是这样,那么如何在当前版本中运行sparql查询。请根据我分享的代码给出一个例子。提前道谢。

  • 我想在Jenkins运行一个脚本10小时。这可能吗?我的脚本长度大约是55分钟。我现在已经安排它每小时运行一次。所以它保持每小时运行一次。(永不停止!!) 但是有没有办法让它在指定的时间内运行,比如说10个小时,然后自动停止?我希望它指定这个55分钟的脚本应该连续运行多长时间,然后自动停止,而不是安排。 所以,如果我在上午8点开始构建,并说运行3小时,它应该一直运行到上午11点,然后停止。

  • 问题内容: 然而,从上述线程中摘录的一个重要观点是: Querydsl和jOOQ似乎是最流行和最成熟的选择,但是需要注意的一件事: 两者都依赖于代码生成的概念, 即为数据库表和字段生成元类。这有助于建立一个漂亮,干净的DSL,但是 在尝试为仅在运行时才知道的数据库创建查询时会遇到问题 。 除了仅使用纯JDBC +字符串串联外,还有什么方法可以在运行时创建查询吗? 我正在寻找的是一个Web应用程序,