java 将csv文件快速导入mysql
时间: 2024-02-24 16:56:17 浏览: 94
java实现批量导入.csv文件到mysql数据库
5星 · 资源好评率100%
可以使用Java的第三方库OpenCSV来快速将CSV文件导入MySQL数据库中。以下是一个简单的示例代码:
```java
import com.opencsv.CSVReader;
import java.io.FileReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class CsvToMysql {
public static void main(String[] args) {
String csvFile = "/path/to/file.csv"; // CSV文件路径
String databaseUrl = "jdbc:mysql://localhost:3306/mydatabase"; // 数据库连接URL
String username = "myusername"; // 数据库用户名
String password = "mypassword"; // 数据库密码
try {
// 连接到数据库
Connection connection = DriverManager.getConnection(databaseUrl, username, password);
// 准备SQL语句
String sql = "INSERT INTO mytable (column1, column2, column3) VALUES (?, ?, ?)";
PreparedStatement statement = connection.prepareStatement(sql);
// 读取CSV文件
CSVReader reader = new CSVReader(new FileReader(csvFile));
String[] nextLine;
// 逐行读取CSV文件,并将数据插入到数据库中
while ((nextLine = reader.readNext()) != null) {
statement.setString(1, nextLine[0]); // 设置第1个参数
statement.setString(2, nextLine[1]); // 设置第2个参数
statement.setString(3, nextLine[2]); // 设置第3个参数
statement.executeUpdate(); // 执行SQL语句
}
// 关闭资源
reader.close();
statement.close();
connection.close();
System.out.println("导入成功!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在这个示例代码中,我们假设CSV文件有3列,分别对应数据库表中的3个列。通过逐行读取CSV文件,并使用PreparedStatement来设置SQL语句的参数,将数据插入到数据库中。请注意,这个示例代码并没有考虑到CSV文件中可能存在的转义字符和特殊字符,如果需要处理这些问题,请查阅OpenCSV的文档。
阅读全文