Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将ArrayList插入Oracle表_Java_Arrays_Oracle_Insert - Fatal编程技术网

Java 将ArrayList插入Oracle表

Java 将ArrayList插入Oracle表,java,arrays,oracle,insert,Java,Arrays,Oracle,Insert,在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.setI

在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 lo=new ArrayList();
用于(对象对象对象:lo)
{PreparedStatement ps=conn.prepareStatement(“插入表值(?,?)”);
ps.setString(1,对象字段1);
ps.setInt(2,对象字段2);}
而是公正地:

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

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

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();
}
List objects=new ArrayList();
// ...
try(PreparedStatement stmt=conn.prepareStatement(“插入到表值(?,?)”){
objects.stream().forEach(o->{insert(o,stmt)});
}
私有静态void插入(MyClass、object、PreparedStatement stmt){
setInt(1,object.getId());
setString(2,object.getName());
...
stmt.executeUpdate();
}

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

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

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();
}
List objects=new ArrayList();
// ...
try(PreparedStatement stmt=conn.prepareStatement(“插入到表值(?,?)”){
objects.stream().forEach(o->{insert(o,stmt)});
}
私有静态void插入(MyClass、object、PreparedStatement stmt){
setInt(1,object.getId());
setString(2,object.getName());
...
stmt.executeUpdate();
}

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

请检查:我不是在寻找批处理解决方案,因为它只是将插入耦合到一个调用中(数据库仍应硬解析或软解析它们),而是一种通过一个命令/调用高效插入ArrayList或任何其他集合的方法。请检查:我不是在寻找批处理解决方案,因为它只是将插入耦合到一个调用中(数据库仍应硬解析或软解析),而是一种通过一个命令/调用高效插入ArrayList或任何其他集合的方法。