教你如何实现Java读取CSV文件并存储到数据库

整体流程

journey
    title 整体流程
    section 准备工作
        开发者->小白: 教学准备
    section 读取CSV文件
        开发者->小白: 读取CSV文件
    section 存储数据库
        开发者->小白: 存储到数据库

步骤及代码示例

准备工作

在开始之前,我们需要确保已经准备好以下工具:

  • IDE(如Eclipse、IntelliJ IDEA等)
  • JDK(Java开发工具包)
  • 相关的数据库(如MySQL)

读取CSV文件

  1. 首先,我们需要引入相关的依赖,用于读取CSV文件。我们可以使用Apache Commons CSV库来实现。在pom.xml文件中添加以下依赖:
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-csv</artifactId>
    <version>1.8</version>
</dependency>
  1. 编写读取CSV文件的代码,示例代码如下:
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVParser;
import org.apache.commons.csv.CSVRecord;

public class CSVReader {
    public static void readCSVFile(String filePath) {
        try (Reader reader = Files.newBufferedReader(Paths.get(filePath));
             CSVParser csvParser = new CSVParser(reader, CSVFormat.DEFAULT)) {
            for (CSVRecord csvRecord : csvParser) {
                // 处理每一行数据
                String column1 = csvRecord.get(0);
                String column2 = csvRecord.get(1);
                // 可以将数据存入数据库或进行其他操作
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        readCSVFile("path/to/your/csv/file.csv");
    }
}

存储数据库

  1. 接下来,我们需要将CSV文件中的数据存储到数据库中。首先,我们需要引入数据库连接库,比如JDBC。在pom.xml文件中添加以下依赖:
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.23</version>
</dependency>
  1. 编写存储数据库的代码,示例代码如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class DatabaseWriter {
    public static void writeToDatabase(String column1, String column2) {
        try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "username", "password");
             PreparedStatement pstmt = conn.prepareStatement("INSERT INTO my_table (column1, column2) VALUES (?, ?)")) {
            pstmt.setString(1, column1);
            pstmt.setString(2, column2);
            pstmt.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        writeToDatabase("value1", "value2");
    }
}

类图

classDiagram
    CSVReader --> CSVFormat
    CSVReader --> CSVParser
    CSVReader --> CSVRecord
    DatabaseWriter --> Connection
    DatabaseWriter --> DriverManager
    DatabaseWriter --> PreparedStatement

通过以上步骤,你就可以实现Java读取CSV文件并将数据存储到数据库中了。希望对你有所帮助!如果有任何问题,请随时向我提问。