Java 我可以在INSERT PREPARED语句中使用命名参数吗?
我想提出一个建议,然后我通常以这种方式在数据库中加载数据:Java 我可以在INSERT PREPARED语句中使用命名参数吗?,java,sql,jdbc,prepared-statement,Java,Sql,Jdbc,Prepared Statement,我想提出一个建议,然后我通常以这种方式在数据库中加载数据: PreparedStatement prep = con.prepareStatement ("INSERT INTO TABLE (NAME, LAST NAME) VALUES (?,?)"); prep.setString (1, name); prep.setString (2, last name); prep.executeUpdate ();
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应该将其添加到第二个字段)
jdbc本机不支持准备语句中的命名参数。我发现这也许能回答你的问题
根据您使用的数据库(Oracle、MySQL等),您可能需要稍微不同的工具。JDBC标准不支持
PreparedStatement
中的命名参数标记,但是,JDBC驱动程序的一些供应商实现确实支持它们——下面是一个示例。查看特定数据库供应商驱动程序实现的文档。查看中的JAVAPreparedStatement
文档。没有这样的方法
可用的方法通常如下所示:
set…(int参数索引,SomeObject变量名)
PreparedStatement prep = con.prepareStatement ("INSERT INTO TABLE (NAME, LAST NAME) VALUES (?,?)");
prep.setString (surname, name);
prep.setString (NAME, name);
prep.executeUpdate ();