【问题标题】:java - how to pass parameters to oracle sql query in bulkjava - 如何将参数批量传递给oracle sql查询
【发布时间】:2018-02-11 06:31:43
【问题描述】:

我与 oracle 有这样的联系:

Connection con=getConnection();
String query="select ?, ? from my_table";
PreparedStatement p=con.prepareStatement(query);
p.setString(1, "id");
p.setString(2, "lastName ");
ResultSet rs=p.executeQuery();

这里一切正常,但我想知道当您没有要选择的固定数量的参数时如何执行此操作。

例如,在上面,我只想选择“id”和“lastName”。但是这些参数取自不同的 Java 方法,并且取决于方法可以返回不同数量的参数的情况,我想将这些参数传递给我的 SQL 选择。

我事先不知道参数,所以一次我只能得到'id'和'lastName',但下一次得到'id'、'firstName'、'address'和'city'。然后我想将它们传递给 SQL 查询。 谁能告诉我在这种情况下如何在sql查询中使用参数?

【问题讨论】:

  • 除了动态查询构建之外,您还有其他期待吗?

标签: java sql oracle parameters


【解决方案1】:

当您不知道需要多少参数时。然后制作一个接受字符串数组/列表的程序,然后将它们加入逗号分隔符。这应该可以解决您的问题。

例如

String paramsList = new String[]{"id", "first_name", "last_name"};

如果您使用的是 Java8,则可以使用 String.join 之类的:

String params = String.join(",", paramsList);

然后像这样写你的sql语句

String query="select " + params + " from my_table";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-11
    • 2013-08-02
    • 2015-04-25
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    相关资源
    最近更新 更多