写一个java实现oracle批量插入的方法
时间: 2024-01-28 17:03:16 浏览: 230
好的,以下是一个简单的Java实现Oracle批量插入的方法示例:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class OracleBatchInsertExample {
public static void main(String[] args) {
String url = "jdbc:oracle:thin:@localhost:1521:XE"; // Oracle数据库连接URL
String username = "your_username"; // 替换为你的用户名
String password = "your_password"; // 替换为你的密码
try {
// 加载Oracle JDBC驱动程序
Class.forName("oracle.jdbc.driver.OracleDriver");
// 建立数据库连接
Connection conn = DriverManager.getConnection(url, username, password);
// 创建插入数据的SQL语句
String sql = "INSERT INTO your_table_name (column1, column2) VALUES (?, ?)";
// 创建PreparedStatement对象,并设置批量提交的大小
PreparedStatement pstmt = conn.prepareStatement(sql);
conn.setAutoCommit(false); // 关闭自动提交
// 模拟一组数据
String[] data1 = {"value1", "value2"};
String[] data2 = {"value3", "value4"};
// 执行批量插入
for (String[] data : new String[][]{data1, data2}) {
for (int i = 0; i < data.length; i++) {
pstmt.setString(i + 1, data[i]);
}
pstmt.addBatch(); // 添加到批量操作
}
int[] result = pstmt.executeBatch(); // 执行批量操作
conn.commit(); // 提交事务
conn.setAutoCommit(true); // 恢复自动提交
System.out.println("成功插入了 " + result.length + " 条数据!");
// 关闭连接和资源
pstmt.close();
conn.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
请替换代码中的 `your_username`、`your_password` 和 `your_table_name` 为你自己的数据库用户名、密码和表名。这个示例演示了如何使用批量插入的方式向Oracle数据库中插入多条数据。
阅读全文