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

如何在Java中创建动态的预处理语句?

从开济
2023-03-14
问题内容

我知道使用准备好的语句有助于避免sql-
injection。我的问题是,准备好的语句通常是非常静态的。我有一个问题,我在哪里在运行时根据用户输入建立sql查询的子句。根据填充的输入字段,我必须将相应的语句添加到where子句中。如何通过准备好的语句实现这一目标?


问题答案:

我猜您可以根据要查询的列来动态构建准备好的语句,即使用StringBuffer和循环根据所需的列来构建它们。

为了提高效率,您应该将它们保留在某种内存中查找中。因此,您最终将获得Map或其他准备好的语句集合,其中检索键是设计用来对其进行查询的列。



 类似资料:
  • 问题内容: 我有3张桌子。团队,选项,选项团队。 团队拥有一个TeamId,名称 拥有Option拥有OptionId,OptionGroup OptionTeam拥有TeamId,OptionId,OptionGroup 我想获得一个团队列表,以及额外的列,这些列指示每个组有多少个选项连接到每个团队。这是通过上面的查询完成的,但是我想用表Option中的OptionGroup值替换4,5,6,1

  • 问题内容: 是否可以在Java中动态创建新变量。 因此,如果两次调用了新方法,是否应该向该类中新添加2个新变量? 可能吗? 问题答案: 否。您是否考虑过在课程中存储“ a ”?映射中的键将是“变量名”,映射中的值将是逻辑变量名。 如果您可以提供有关您要实现的目标的更多信息(从高角度来看),那将有所帮助。

  • 问题内容: 我想动态创建一个二维数组。 我知道列数。但是行数正在动态更改。我尝试了数组列表,但它仅将值存储在单个维度中。我能做什么? 问题答案: 由于列的数量是恒定的,你可以有一个的。 由于它以a 为后缀,因此行数可以动态增加和减少。每行都有一个,它是静态的,但是您说列数是固定的,因此这不是问题。

  • 问题描述 (Problem Description) 如何在java中使用Prepared Statement? 解决方案 (Solution) 以下示例使用PrepareStatement方法创建PreparedStatement。 它还使用PreparedStatement的setInt和setString方法来设置PreparedStatement的参数。 import java.sql.*

  • 问题内容: 他们如何在Java中创建代理。他们是根据需要创建代理,还是创建代理并将其永久保存。 问题答案: 您可以通过两种基本方式创建代理: 通过接口使用JDK机制。看一看。 在具体的类上使用一些字节码生成/操作库。看看cglib和javassist Apache有一个很好的实用程序:commons- proxy 。它包装了许多用于创建代理的机制和框架。 这全部与动态代理有关,即在运行时创建的代理

  • 我是Spring新手,也是Spring批新手——所以,请耐心等待。 我知道spring batch是帮助运行步骤和任务的框架。 我尝试通过创建步骤和任务来使用spring批处理,但这些步骤和任务是在程序构建/编译时硬编码的。然而,我不知道如何动态创建任务和步骤。 我想做的是让用户创建一个脚本,说明如何从步骤列表中组装任务。每个步骤都将调用对现有RESTendpoint的远程调用。一项任务将包含多个