java 批量存储_Java读取文件并批量保存到数据库
时间: 2023-12-18 12:05:50 浏览: 91
好的,您可以参考以下代码实现Java读取文件并批量保存到数据库:
```java
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class BatchInsert {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "123456";
try (Connection conn = DriverManager.getConnection(url, user, password)) {
String sql = "INSERT INTO mytable (name, age) VALUES (?, ?)";
PreparedStatement statement = conn.prepareStatement(sql);
File file = new File("data.txt");
BufferedReader reader = new BufferedReader(new FileReader(file));
String line;
while ((line = reader.readLine()) != null) {
String[] parts = line.split(",");
String name = parts[0];
int age = Integer.parseInt(parts[1]);
statement.setString(1, name);
statement.setInt(2, age);
statement.addBatch();
}
statement.executeBatch();
System.out.println("Data inserted successfully!");
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们首先建立了与数据库的连接,然后定义了一个 SQL 语句,并使用 PreparedStatement 对象进行了预编译。
接着,我们使用 BufferedReader 对象读取文件的每一行数据,并将其分割为姓名和年龄两个部分。然后,我们将这些数据设置到 PreparedStatement 对象中,并使用 addBatch() 方法将其添加到批处理中。
最后,我们调用 executeBatch() 方法将批处理中的所有 SQL 语句一次性执行。
当然,您需要根据您的具体情况修改代码中的数据库连接信息、SQL 语句、数据文件路径等参数。
阅读全文