用Java帮我写一个抓取SQL数据写入CSV的代码
时间: 2023-07-16 12:14:14 浏览: 90
好的,以下是一个示例代码,实现了从数据库中抓取数据并写入CSV文件:
```java
import java.io.FileWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class SQLtoCSV {
public static void main(String[] args) {
String jdbcUrl = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "mypassword";
String tableName = "mytable";
String csvFilePath = "output.csv";
try {
// 创建连接
Connection conn = DriverManager.getConnection(jdbcUrl, username, password);
// 创建查询语句
Statement stmt = conn.createStatement();
String query = "SELECT * FROM " + tableName;
ResultSet rs = stmt.executeQuery(query);
// 创建 CSV 文件并写入数据
FileWriter writer = new FileWriter(csvFilePath);
while (rs.next()) {
String row = "";
for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
row += rs.getString(i) + ",";
}
writer.write(row.substring(0, row.length() - 1) + "\n");
}
writer.close();
// 关闭连接
rs.close();
stmt.close();
conn.close();
System.out.println("数据已成功写入 CSV 文件!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
你需要替换 `jdbcUrl`、`username`、`password`、`tableName` 和 `csvFilePath` 这些变量的值,以适应你的环境。此外,你需要将 MySQL 的 JDBC 驱动程序添加到你的类路径中。
这个示例代码使用了 try-catch 块来处理可能出现的异常,并在成功写入 CSV 文件后输出一条消息。
阅读全文