21xrx.com
2024-11-22 10:05:16 Friday
登录
文章检索 我的文章 写文章
Java代码示例:从文件中提取数据,并将其插入到另一个表中
2023-06-17 22:17:26 深夜i     --     --
Java 文件读写 JDBC

在数据库开发中,我们时常需要从文件、外部接口或其他数据源中提取数据。本文将为您演示如何使用Java语言从一个文件中提取数据,并将其插入到另一个表中。

首先,我们需要创建一个数据表,作为数据存储的目标。我们以MySQL数据库为例,使用以下代码创建一个新表:


CREATE TABLE target_table (

 id INT PRIMARY KEY,

 name VARCHAR(50),

 age INT,

 gender CHAR(1)

);

接下来,我们需要创建一个Java程序,使用以下代码读取文件中的数据,并将其插入到我们刚才创建的目标表中:


import java.sql.*;

import java.io.*;

public class FileToTable {

 public static void main(String[] args) throws Exception {

  // 目标数据库信息,需要根据实际情况修改

  String url = "jdbc:mysql://localhost/mydatabase";

  String user = "root";

  String password = "password";

  // 数据源文件路径,需要根据实际情况修改

  String filePath = "data.txt";

  // 连接数据库

  Connection conn = DriverManager.getConnection(url, user, password);

  // 准备插入SQL语句

  String insertSQL = "INSERT INTO target_table (id, name, age, gender) VALUES (?, ?, ?, ?)";

  // 打开数据源文件,使用try-with-resource自动关闭

  try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {

   // 逐行读取文件内容

   String line;

   while ((line = reader.readLine()) != null) {

    // 将数据按逗号分隔成数组

    String[] tokens = line.split(",");

    // 构造PreparedStatement对象进行插入操作

    PreparedStatement stmt = conn.prepareStatement(insertSQL);

    stmt.setInt(1, Integer.parseInt(tokens[0]));

    stmt.setString(2, tokens[1]);

    stmt.setInt(3, Integer.parseInt(tokens[2]));

    stmt.setString(4, tokens[3]);

    stmt.executeUpdate();

    stmt.close();

   }

  }

  // 断开数据库连接

  conn.close();

 }

}

上述代码中,我们使用了Java的JDBC API来连接数据库,并使用PreparedStatement对象来执行插入操作。我们还使用了Java的文件读写API来读取数据源文件中的内容。

在运行程序之前,我们需要先准备一个数据源文件。假设我们的数据源文件为data.txt,其内容如下:


1,John,25,M

2,Jane,32,F

3,Bob,43,M

4,Alice,27,F

最后,我们在命令行或集成开发环境中运行程序,将数据源文件中的数据插入到目标表中:


java FileToTable

这样,我们就完成了从文件中提取数据,并将其插入到另一个表中的操作。

本文演示了如何使用Java语言从一个文件中提取数据,并将其插入到另一个表中。我们使用了Java的JDBC API和文件读写API,构建了一个完整的程序,实现了这一任务。希望这篇文章对您有所帮助。

API

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复