好用的数据库信创改造工具

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 数据库信创改造工具是基于Spring Boot 3的Web应用,支持标准SQL智能转换为国产数据库(如达梦、高斯、OceanBase等)兼容语法。提供手工转换、批量扫描替换及AI深度优化(通义千问)、图片OCR识别SQL等功能,开箱即用,助力信创平滑迁移。

数据库信创改造工具

📖 项目简介

数据库信创改造工具是一个基于 Spring Boot 3 的 Web 应用,用于将标准 SQL 智能转换为国产信创数据库的兼容语法。支持手工逐条转换和批量自动扫描替换两种模式,并提供 AI 深度优化能力。

✨ 主要特性

  • 🔄 智能 SQL 转换:基于 JSqlParser 解析 AST,进行函数替换、类型映射、语法改写
  • 🤖 AI 深度优化:集成阿里云百炼(通义千问),对转换后的 SQL 进行深度优化
  • 🖼️ 图片 OCR 识别:上传包含 SQL 的图片,通过多模态视觉模型自动识别 SQL 语句
  • 📂 批量扫描:自动扫描项目目录,精准识别需要改造的 SQL(支持 Java / MyBatis XML / SQL / 配置文件)
  • 📁 文件夹选择器:可视化浏览和选择项目目录,无需手动输入路径
  • 🚀 一键改造:自动生成备份并执行批量替换

🖼️ 效果展示

手工处理

db_xc_sd.png

自动处理

db_xc_zd.png

🛠️ 技术栈

组件 技术
后端 Spring Boot 3.2, JSqlParser 4.9, OkHttp 4.12
前端 Vue 3 CDN + Element Plus CDN(纯 HTML,无构建工具)
AI 接口 阿里云百炼 OpenAI 兼容接口(qwen-max + qwen-vl-max)
构建 Maven, JDK 17+

📋 系统要求

  • JDK 17+
  • Maven 3.6+
  • 阿里云百炼 API Key(可选,用于 OCR 和 AI 优化功能)

🚀 快速开始

1. 克隆项目

git clone <repository-url>
cd db-converter-tool

2. 配置 API Key(可选)

编辑 src/main/resources/application.yml

anthropic:
  api:
    key: 你的百炼API_Key

或通过环境变量设置:

export ANTHROPIC_API_KEY=你的百炼API_Key

API Key 在 阿里云百炼控制台 获取。不配置 API Key 也可以使用基础的 SQL 转换和批量扫描功能。

3. 编译打包

mvn clean package

4. 运行应用

java -jar target/db-converter-tool-1.0.0.jar

或使用 Maven 直接运行:

mvn spring-boot:run

5. 访问应用

打开浏览器访问:http://localhost:8080

📖 使用指南

手工处理

  1. 访问首页,默认进入「手工处理」页面
  2. 上传图片(需配置 API Key):点击上传区域选择图片,系统自动通过 AI 识别 SQL
  3. 输入 SQL:在文本框中输入或粘贴 SQL 语句
  4. 选择目标数据库:从下拉框选择目标数据库
  5. AI 优化(可选,需配置 API Key):开启「启用 AI 深度优化」开关
  6. 转换:点击「转换」按钮,查看转换结果
  7. 复制结果:点击「复制」按钮复制转换后的 SQL

自动处理

  1. 点击左侧菜单「自动处理」
  2. 选择项目路径
    • 手动输入目录路径,或
    • 点击「📁 选择文件夹」按钮,在弹窗中浏览并选择目录
  3. 选择目标数据库:选择目标数据库
  4. 扫描:点击「开始扫描」按钮,等待扫描完成
  5. 查看清单:扫描完成后查看改造清单,确认每项改造内容
  6. 执行改造:点击「立即改造」按钮,确认后执行批量替换(自动创建 .bak 备份)

📊 支持的数据库

数据库 标识 说明
高斯数据库 gaussdb 华为 GaussDB
达梦数据库 dameng DM8
人大金仓 kingbase KingBase ES
OceanBase oceanbase 蚂蚁 OceanBase
TiDB tidb PingCAP TiDB
南大通用 gbase GBase 8s
神州通用 shentong ShenTong OSCAR

📡 API 接口

接口 方法 说明
/api/ocr POST 上传图片识别 SQL(需 AI)
/api/convert POST 转换 SQL
/api/optimize POST AI 优化 SQL(需 AI)
/api/databases GET 获取支持的数据库列表
/api/scan POST 启动目录扫描任务
/api/scan/progress GET 查询扫描进度
/api/replace POST 执行批量替换
/api/replace/custom POST 使用自定义清单执行替换
/api/directories GET 列出目录下的子文件夹(文件夹选择器用)

🔍 SQL 扫描能力

自动处理模式下的扫描器支持从多种文件类型中精准提取 SQL:

文件类型 扫描策略
.java @Query 注解、Text Block、SQL 字符串字面量;自动排除日志/断言等非 SQL 上下文
.xml MyBatis Mapper 标签(<select> / <insert> / <update> / <delete>),处理动态标签(<if> / <where> / <foreach> 等)
.sql 完整的 SQL 文件语句(以 ; 结尾),自动过滤注释
.properties / .yml 配置项中包含 SQL 关键字的值

扫描器内置 7 层过滤器,有效排除 FUNCTION() 占位符、控制流片段、Java 代码片段等假阳性结果。

🔧 配置说明

application.yml 配置项

# 服务端口
server:
  port: 8080

# 文件上传限制
spring:
  servlet:
    multipart:
      max-file-size: 10MB

# AI 接口配置(阿里云百炼 OpenAI 兼容接口)
anthropic:
  api:
    key: ${
   ANTHROPIC_API_KEY:YOUR_BAILIAN_API_KEY}
    base-url: ${
   ANTHROPIC_BASE_URL:https://dashscope.aliyuncs.com/compatible-mode}
    model: ${
   ANTHROPIC_MODEL:qwen-max-latest}
    vision-model: ${
   ANTHROPIC_VISION_MODEL:qwen-vl-max-latest}

# 日志配置
logging:
  level:
    com.dbconverter: DEBUG
  file:
    name: logs/db-converter.log

📁 项目结构

db-converter-tool/
├── src/
│   ├── main/
│   │   ├── java/com/dbconverter/
│   │   │   ├── DbConverterApplication.java      # 启动类
│   │   │   ├── common/                          # 通用类(Result, ConversionItem, ScanTask)
│   │   │   ├── config/                          # 全局异常处理
│   │   │   ├── controller/
│   │   │   │   ├── ManualController.java        # 手工处理 API
│   │   │   │   └── AutoController.java          # 自动处理 + 目录浏览 API
│   │   │   └── service/
│   │   │       ├── AnthropicApiService.java     # 百炼 AI 服务
│   │   │       ├── SqlConverter.java            # SQL 方言转换引擎
│   │   │       ├── FileScannerService.java      # 文件扫描服务
│   │   │       └── FileReplacerService.java     # 文件替换服务
│   │   └── resources/
│   │       ├── application.yml                  # 应用配置
│   │       └── static/                          # 前端页面
│   │           ├── index.html                   # 入口(跳转手工处理)
│   │           ├── manual.html                  # 手工处理页面
│   │           └── auto.html                    # 自动处理页面
│   └── test/                                    # 测试代码
├── pom.xml
├── README.md
└── README_EN.md

🧪 运行测试

mvn test

📝 注意事项

  1. API Key 安全:请勿将 API Key 提交到代码仓库,建议使用环境变量传入
  2. 文件备份:自动改造会创建 .bak 备份文件,请在改造前确认备份
  3. 大项目扫描:扫描大型项目可能需要一定时间,页面会实时显示进度
  4. SQL 解析:部分复杂 SQL 可能无法被 JSqlParser 完全解析,会自动降级为正则处理
  5. 目录过滤:扫描时自动跳过 target/build/.git/node_modules/.idea/ 等非业务目录

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

☕ 项目获取

如果这个项目对你有帮助,麻烦给一个star,谢谢
https://github.com/vfaner/db-converter-tool

个人 / 非商业使用免费,商业使用需获得作者授权。详见 LICENSE

相关文章
|
4天前
|
人工智能 弹性计算 运维
|
2天前
|
缓存 人工智能 安全
GPT-5.6 Terra与GPT-5.5性能实测:成本减半后的跑分对比与快速迁移指南
GPT-5.6 Terra 的定价为每百万 token 输入 2.50/输出 15。GPT-5.5 则是 5/ 30。Terra 的每一项费率,包括 $0.25/M 的缓存读取,都恰好是 GPT-5.5 的一半,因此在任何工作负载组合下,Terra 都固定 便宜 2.0x。以每天 10 万次请求、3K token 提示词计算,大约是 Terra 每天 2,000,GPT−5.5每天 4,000,即每月约 60,000对 120,000。问题在于:OpenAI 没有发布任何针对 Terra 的编码基准。那个著名的 91.9% Terminal-Bench 数字是 Sol 在 Ul
|
25天前
|
Linux 程序员 数据格式
【2026最新】Notepad++下载、安装和使用一篇搞定(附中文版安装包)
Notepad++ 是一款免费开源、轻量高效的 Windows 文本编辑器,支持 C/Python/HTML 等 80+ 语言语法高亮、代码折叠、正则替换、编码转换及插件扩展,专为程序员与文本处理用户打造,完美替代系统记事本。(239字)
|
10天前
|
人工智能 缓存 安全
Claude Code 封号真实原因曝光,这次彻底不装了,直接针对国内开发者的账号下手?
Claude Code 封号潮背后:逆向扒出客户端隐写区域标记,Anthropic 政策收紧叠加 DeepSeek 7 月涨价,国产替代更紧迫。
|
19天前
|
存储 人工智能 监控
QoderWork完全指南:从入门到精通,把“AI实习生”变成你的全能工作搭档
阿里云2026年推出的桌面端AI工作助手QoderWork,不止聊天,更可动手干活:本地运行、安全可控,支持文件整理、数据分析、PPT生成、网页开发等;内置专家套件、多Agent协作与自定义Skills,让AI真正成为你身边的“AI实习生”。
|
15天前
|
人工智能 JSON 自然语言处理
让教学更智慧:用阿里云百炼工作流,自动生成中小学教材内容#小有可为#有温度的AI
通过可视化工作流编排,将大模型推理能力转化为标准化的教学内容生成引擎。教师只需输入教材标题和适用学段,即可自动获得结构完整、符合课程标准的章节内容,大幅降低备课门槛,助力教育资源均衡化。
505 127
|
9天前
|
人工智能 编解码 物联网
2026 最新Stable Diffusion 本地部署教程 下载安装使用详细图解(含官网安装包)
Stable Diffusion(SD)是2022年发布的开源文生图模型,由Stability AI等联合开发。支持文生图、图生图、局部重绘等,依托VAE降低算力需求,可在消费级显卡运行。本文提供秋葉aaaki制作的Windows整合包(含图形界面与插件),开箱即用,零配置启动。
|
11天前
|
人工智能 安全 程序员
终于,Claude Code 封号的原因被曝光了!竟然针对中国用户,植入隐形代码?!
通俗易懂地揭秘 Claude Code 封号的手段,分享一些自己对 AI 编程困境的思考,Codex、Cursor、DeepSeek、智谱 GLM、甚至是豆包,都有所行动了
526 1
|
18天前
|
人工智能 弹性计算 API
什么是 AlibabaCloud Agent Toolkit
Alibaba Cloud Agent Toolkit 是面向AI Agent的阿里云智能工具套件,集成OpenAPI、Terraform、CLI与文档能力,提供MCP插件、场景化Skills及执行审计机制,助AI准确查API、生成代码、规划架构、校验部署,实现安全、可靠、可追溯的云上智能运维。
460 2