当前位置: 首页 > 面试题库 >

如何通过Spring JdbcTemplate生成动态的“(...)” SQL列表?

许曦
2023-03-14
问题内容

是否可以通过Jdbc模板在SQL查询中生成任意“ in()”列表:

例:

“从t中选择*,其中c在(#)中”,但是’#’可以是仅在运行时才知道的任意值列表。


问题答案:

是的,如果你使用NamedParameterJdbcTemplate或SimpleJdbcTemplate使用命名参数,则可能在Spring中。List参数可以设置为java.util.List

List<String> list = new ArrayList<String>();

list.add("A");
list.add("B");
list.add("C");

List<SomeObject> result = simpleJdbcTemplate.query("SELECT * FROM t WHERE c in (:list)",
    new RowMapper<SomeObject>() { ... },
    Collections.singletonMap("list", list));

在这种情况下,当使用?s 替换命名参数时,Spring会根据实际列表的大小在内部使用所需数量的占位符创建SQL查询。



 类似资料:
  • 问题内容: 我在一张table上做了一个透视图,生成了动态列: 它返回以下结果: 但是我需要按前三列进行分组以获取以下内容: 所以我需要,但是由于我的枢纽专栏是动态的,所以我无法设法找到解决方案… 这是一个SQL小提琴 问题答案: DECLARE @cols AS NVARCHAR(MAX); DECLARE @query AS NVARCHAR(MAX);

  • 问题内容: 我正在尝试在MySQL中生成序列表,以便可以从获得唯一ID 。 问题是我需要动态地多个序列。 首先,我创建了一个表: 然后尝试使用http://dev.mysql.com/doc/refman/5.0/en/information- functions.html#function_last-insert- id中的 示例获取编号 一段时间后,我意识到我还需要安全地为新标签生成行。因此,

  • 问题内容: 我正在使用SASS的SCSS语法来创建动态网格系统,但是遇到了麻烦。 我试图像这样使网格系统完全动态: 然后我创建像这样的列: 哪个输出: 这很好用,但是 我接下来要做的是根据选择的$ columns的数目动态生成一列由逗号分隔的长列类 -例如,我希望它看起来像这样: 我已经累了: 但是输出是这样的: 我对这里的逻辑以及创建这样的东西所需的SCSS语法有些困惑。 有人有什么想法吗? 谢

  • 问题内容: 我列出了需要从SQL Server中删除的表(大约100 ++)。以下是我将使用的示例代码 我需要将表名100 ++时间替换为其他表名。如何编写可以自动生成查询列表的动态sql脚本? 问题答案: 您可以先生成脚本,然后使用动态sql执行: 如果您使用的版本低于2012,则需要使用字符串串联进行更改。 您可以通过修改模板轻松地使用自定义架构扩展此脚本: 输出:

  • 本文向大家介绍java 动态生成SQL的实例讲解,包括了java 动态生成SQL的实例讲解的使用技巧和注意事项,需要的朋友参考一下 代码如下: 以上这篇java 动态生成SQL的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍如何使用Jquery动态生成二级选项列表,包括了如何使用Jquery动态生成二级选项列表的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了如何使用Jquery动态生成二级选项列表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 想写一个多级联动的选项列表,并且我想要动态生成,但是我看了好多博客看得我晕乎乎的,就自己查了一些j