我想要一个建议,然后通常我会以这种方式在数据库上加载数据:
PreparedStatement prep = con.prepareStatement ("INSERT INTO TABLE (NAME, LAST NAME) VALUES (?,?)");
prep.setString (1, name);
prep.setString (2, last name);
prep.executeUpdate ();
我想要一种避免指示数据引用索引的方法,也就是说,我想将数据不整齐地发送到PreparedStatement 没有索引,我想发送数据,然后它将是API来设置正确的字段,它可以使用这样的东西(注意我用名称颠倒姓氏,首先发送姓氏,API应该将其添加到第二个字段)
PreparedStatement prep = con.prepareStatement ("INSERT INTO TABLE (NAME, LAST NAME) VALUES (?,?)");
prep.setString (surname, name);
prep.setString (NAME, name);
prep.executeUpdate ();
答案 0 :(得分:1)
JDBC标准不支持PreparedStatement
中的命名参数标记,但是,JDBC驱动程序的某些供应商实现确实支持它们 - 这是DB2 JDBC extension的示例。检查特定数据库供应商的驱动程序实现的文档。
答案 1 :(得分:0)
jdbc本身不支持预准备语句中的命名参数。我发现this answer可能会回答您的问题。
根据您使用的数据库(Oracle,MySQL等),您可能需要稍微不同的工具。
答案 2 :(得分:0)
查看ORACLE中的JAVA PreparedStatement
文档。没有这样的方法。
可用的方法通常如下所示:
set...(int parameterIndex, SomeObject variableName)