gpt4 book ai didi

java - 将ArrayList插入Oracle表中

转载 作者:太空宇宙 更新时间:2023-11-04 12:50:33 28 4
gpt4 key购买 nike

有没有一种方法,用java语言,可以将Arraylist插入到表中,而无需循环遍历ArrayList和编码:

List<Object> lo = new ArrayList<Object>();
for (Object obj:lo)
{PreparedStatement ps = conn.prepareStatement("INSERT INTO TABLE VALUES (?, ?, ? )");
ps.setString(1,obj.field1);
ps.setInt(2,obj.field2); }

但只是:

   List<Object> lo = new ArrayList<Object>();
PreparedStatement ps = conn.prepareStatement("INSERT INTO TABLE VALUES (?, ?, ? )");
ps.insertArray(lo);

最佳答案

没有。 JDBC 不知道每个插入参数应该使用什么值。您必须明确设置:

List<MyClass> objects = new ArrayList<MyClass>();

// ...

try (PreparedStatement stmt = conn.prepareStatement("INSERT INTO TABLE VALUES (?, ?, ? )")) {

objects.stream().forEach(o -> { insert(o, stmt) });

}

private static void insert(MyClass, object, PreparedStatement stmt) {
stmt.setInt(1, object.getId());
stmt.setString(2, object.getName());
...
stmt.executeUpdate();
}

考虑使用对象关系映射器来实现您想要的目的。

关于java - 将ArrayList插入Oracle表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35872852/

28 4 0