关注我的公众号:【编程朝花夕拾】,可获取首发内容。
01 引言
之前无论是使用OpenCode还是Qoder,都实现的其他的语言的代码案例。从来没有使用Java语言实现过。
在实现之前,总是会考虑,它会怎么给我分包,怎么分包之后,它会按照包的结构房对应的java文件么......
带着这些问题,我用仅剩下的几十个Credits,做一个多数据源的测试Demo。
02 开发准备
Java项目自然还是使用IDEA这款集成工具实现,我们先简单的设定使用springboot完成多数据源的切换,看看结果怎么样。
由于Qoder赠送的Credit所剩无几,我们使用消耗比较少的Qwen3.2-Plus模型来完成。

03 项目开发
开发过程中,我们尽量通过提示词完成。因为之前做测试项目的时候,发现一个问题,就是修改了代码之后,由于上下文没有加载,导致后面修改其他功能,直接手改的代码被冲掉了。
3.1 起手式
提示词:
markdown
使用springboot框架实现一个多数据源自动切换的功能
通过提示词,智能体为我们创建了TODO List。

通过待办事项,我们可以看到智能体很贴心的帮我们分了包,使用了AOP技术,还编写了测试用例。已经非常出乎我的意料了,我们看看几步能成功!
我们没有提供数据库连接,看看智能体会不会提醒我们。
代码生成之后,智能体为我们提供了项目的总结以及使用步骤:


我们再来看看项目结构:

分包非常清晰,还提供了单元测试。尤其service和impl让我惊艳,因为平时我们也是这么用的。
3.2 配置式
使用步骤中,让我们修改一下数据库的连接。我们直接丢给智能体,让它改。

这里我们需要执行resources/sql/init.sql脚本,创建测试数据。

3.3 修复式01
项目启动之后,报错了。

同样直接扔给AI:

智能体的思考真的很棒,分析了问题的原因,并给出了解决方案。
3.4 修复式02
紧接着我们继续启动,又发现了问题。同样的处理方式。

此问题修复后,项目就可以正常返回了。

3.5 测试式
我们使用apifox插件,直接测试。也可以直接使用测试类测试。

测试过程中出现了错误:
json
{
"code": 500,
"message": "查询失败:nested exception is org.apache.ibatis.exceptions.PersistenceException: \r\n### Error querying database. Cause: java.lang.IllegalArgumentException: jdbcUrl is required with driverClassName.\r\n### The error may exist in file [E:\JAVA_WORKSPACE\idea-workspace\idea-self-pro02\boot-qoder\target\classes\mapper\UserMapper.xml]\r\n### The error may involve com.example.bootqoder.mapper.UserMapper.selectUserById\r\n### The error occurred while executing a query\r\n### Cause: java.lang.IllegalArgumentException: jdbcUrl is required with driverClassName.",
"dataSource": "master"
}
同样直接丢给智能体:

问题全局解决,测试也正常,数据源也正常切换。

04 小结
之前聊过使用免费的模型做项目遇到的问题,总觉得用智能体写项目有点费劲,这么测试下来真的很爽。
我没有测试我们的老项目,因为读取项目可能会耗光我的Credits。原本手工编写多数据源的demo可能需要几个小时,但是使用智能体编程,几分钟就搞定了,甚至比自己写的还好。