前言
随着大语言模型的发展,人工只能工具也是遍地开花,一直想学习一下java开发,本次就把和豆包一起学习Java代码开发的经验写出来进行分享,感受是,AI是我们的得力助手~~
这篇文章和豆包聊代码实现的主要功能是从数据库中提取数据并保存为Excel文件,数据库是Oracle,系统环境是Windows,使用的IDEA是IntelliJ IDEA。
一、连接数据库实现
告诉豆包需求:用java写一个连接数据库的程序,数据库为Oracle
以下为豆包AI这个大神给出的结果:
要在 Java 中连接 Oracle 数据库并将数据导出为 Excel 表格,你可以使用以下步骤和代码示例。这个示例使用了 Apache POI 库来处理 Excel 文件,使用 JDBC 来连接 Oracle 数据库。
首先,确保你的项目中包含以下依赖(如果使用 Maven,在pom.xml中添加):
<dependencies>
<!-- Oracle JDBC驱动 -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>21.3.0.0</version>
</dependency>
<!-- Apache POI库,用于操作Excel文件 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version>
</dependency>
</dependencies>
以下是 Java 代码示例:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class OracleToExcelExporter {
public static void main(String[] args) {
String jdbcUrl = "jdbc:oracle:thin:@your_host:your_port:your_service";
String username = "your_username";
String password = "your_password";
String excelFilePath = "path/to/your/output_file.xlsx";
try (Connection connection = DriverManager.getConnection(jdbcUrl, username, password);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM your_table");
Workbook workbook = new XSSFWorkbook()) {
Sheet sheet = workbook.createSheet("Data");
// 创建表头
Row headerRow = sheet.createRow(0);
int columnCount = resultSet.getMetaData().getColumnCount();
for (int i = 1; i <= columnCount; i++) {
Cell cell = headerRow.createCell(i - 1);
cell.setCellValue(resultSet.getMetaData().getColumnName(i));
}
// 填充数据
int rowNum = 1;
while (resultSet.next()) {
Row row = sheet.createRow(rowNum++);
for (int i = 1; i <= columnCount; i++) {
Cell cell = row.createCell(i - 1);
cell.setCellValue(resultSet.getString(i));
}
}
// 调整列宽
for (int i = 0; i < columnCount; i++) {
sheet.autoSizeColumn(i);
}
// 写入Excel文件
try (FileOutputStream outputStream = new FileOutputStream(excelFilePath)) {
workbook.write(outputStream);
}
System.out.println("Data exported to Excel successfully.");
} catch (Exception e) {
e.printStackTrace();
}
}
}
在上述代码中:
数据库连接:通过DriverManager.getConnection方法使用 JDBC 连接到 Oracle 数据库,需要替换jdbcUrl、username和password为实际的数据库连接信息。
执行 SQL 查询:创建Statement对象并执行 SQL 查询,将结果存储在ResultSet中。这里的查询语句SELECT * FROM your_table需要替换为实际要执行的 SQL 语句。
创建 Excel 文件:使用 Apache POI 库创建一个新的 Excel 工作簿(XSSFWorkbook表示.xlsx格式),并在其中创建一个工作表(Sheet)。
写入表头和数据:从ResultSet的元数据获取列名写入表头行,然后逐行读取结果集数据并写入 Excel 表格。
调整列宽:使用autoSizeColumn方法自动调整每列的宽度以适应内容。
保存 Excel 文件:将工作簿内容写入指定路径的 Excel 文件。
请根据实际情况调整数据库连接信息、SQL 查询语句和 Excel 文件路径。
由上可知豆包会贴心的按照需求编写Java实现代码,还会给出代码描述。若是觉得代码里的注释不够详细的话,还可以再要求它“请在上述代码中加上详细的注释”,然后它就会再生成一个带有注释的代码段。
二、代码部署
Intellij 环境部署:
1、首先下载一个Intellij IDEA 用来进行开发
2、新建项目

选择Java语言,建议JDK使用1.8的,这一版稳定,一开始我下载了一个最新的JDK24,不兼容,生成的maven项目有问题~~
3、maven仓库的配置

在文件——设置——构建、执行、部署——Maven 中配置好下载的Maven仓库,一般IDEA安装的时候都会自带上了。
4、代码部署
将AI生成的代码中,关于Maven依赖的部分放在 pom.xml文件中,保存好;然后目录里右键点击pom.xml文件后选择“重新加载项目”;然后在目录的外部库中,就会加载好配置文件中需要的各种库。



5、Java类代码开发
在目录src下进行Java代码的开发

6、打jar包
文件——项目结构——工件——+ ——选择需要打包的项目,默认jar包会存放在\out\artifacts\下,也可以自己指定。
然后选择菜单栏的“构建——构建工件——选择要打包的工件构建”即可。



7、代码测试
Java是调用Main方法进行代码测试,故需要在Main里调用编写好的java类,然后进行执行测试。

jar包测试:首先要配置好JDK的环境变量,终端输入“java -version”可查看java 版本号。
然后终端执行打包好的jar包,回车就会执行啦~~

三、言归正传AI继续编代码
成功连接上数据库,并查询出来对应SQL语句的数据然后保存为Excel文件只是第一步。
后续想要添加的功能,如数据库中创建一个存储查询语句的表SelectTemp;然后Java实现遍历查询SelectTemp中的查询语句,并将每条查询语句查询出来的数据按照对应查询表命名保存为Excel文件;然后所有查询语句文件导出完成后,将所有文件存放至当前日期命名的文件目录下;然后将当前日期的文件目录进行打包;后续的优化还可以添加并行、日志打印输出、存储监控预警等。

豆包协助下完成的代码,我们只需要再测试中润色一下就可以了。若测试环节中存在问题,还可以把报错直接发给它进行分析,而且这家伙不只会贴心的给出解决方案,还会将优化后的代码双手奉上,简直太爱它了~~

int retryCount = 0;
while (true) {
try {
// 执行数据库操作的代码
break;
} catch (SQLException e) {
if ("00054".equals(e.getSQLState())) {
if (retryCount < 3) {
try {
Thread.sleep(5000);
} catch (InterruptedException ex) {
Thread.currentThread().interrupt();
}
retryCount++;
} else {
e.printStackTrace();
break;
}
} else {
e.printStackTrace();
break;
}
}
}
四、总结
总之,用AI来协助编程可以大大提高开发效率,当然还是需要开发者一步一步将开发思路需求喂给AI去执行,也需要开发者对开发的代码进行二次的测试与检验。最后再说一下,它真的很方便~~
418

被折叠的 条评论
为什么被折叠?



