ZD

zhaoxingpeng/dbjavagenix

数据库管理

本页由 AI 翻译,技术细节请以原文为准。 查看原文

36 stars 9 forks 质量 71 趋势 20NOASSERTION

面向 Java 后端开发的智能数据库代码生成工具:基于 MCP 解析 MySQL 等数据库结构与关系,生成 Entity、DAO、Service、Controller 等分层代码,并支持模板扩展、规范校验与依赖管理。

概览

把“用 LLM 看着数据库做反向工程”做成一件可重复、可审计的事。Skills 定义“怎么做” ·MCP 提供“能做什么” ·MCP Apps 让结果“看得见”。 把数据库表反向生成成 Spring Boot 工程 (Entity/DAO/Service/Controller/DTO/Mapper) 不是新东西 —— EasyCode、MyBatis-Plus Generator、Renren-generator 都做了多年。 当前可连接、查询并读取元数据的数据库为 MySQL、PostgreSQL 和 SQLite。Oracle 与 SQL Server 的类型映射保留为后续扩展准备,但尚未实现运行时驱动和元数据契约,不能作为 当前可用数据库声明。 1. 加载 java-codegen-from-db Skill,按 5 阶段工作流推进 2.调用 db_connect_test → db_table_describe → db_table_foreign_keys 收集 schema 3.调用 db_render_er_diagram → 客户端渲染 Mermaid ER 图 4.调用 ai_infer_business_names 推断 → sys_user_role 应是 UserRoleAssignment 5.调用 ai_recommend_template 推荐 → 检测到 RBAC,推 MybatisPlus-mixed 6.用 codegen_build_context + 6 个 codegen_render_* 分层生成,每层返回 code-diff 7.用户确认后写盘 8.会话结束时调用 db_disconnect(connection_id) 释放连接 - Python ≥ 3.11 / mcp ≥ 1.6 / Spring Boot 3.5 + Java 21 模板 - 单元测试 620+,GitHub Actions 分层 CI(提交策略、三版本质量、格式、数据库集成、模板、Docker、打包安装) - 多阶段 Dockerfile (python:3.11-slim + 非 root 用户) - .claude/skills/java-codegen-from-db/SKILL。

概述(AI 翻译)

把“用 LLM 看着数据库做反向工程”做成一件可重复、可审计的事。 Skills 定义“怎么做” ·MCP 提供“能做什么” ·MCP Apps 让结果“看得见”。

它解决什么问题

把数据库表反向生成成 Spring Boot 工程 (Entity/DAO/Service/Controller/DTO/Mapper) 不是新东西 —— EasyCode、MyBatis-Plus Generator、Renren-generator 都做了多年。LLM 时代的区别在于:

维度 老工具 DBJavaGenix v0.2
工作流谁定 用户在 IDE 点配置面板 Skill 文件显式编排 (LLM 不会乱调)
调用粒度 一个大按钮一步到位 7 个原子工具 (build_context + 6 个 render_*),LLM 可中途让用户改 context 重渲
启动开销 (插件,常驻) 默认 ~3300 tok / 渐进模式 ~985 tok (节省 70%
命名 表前缀机械映射 15 条规则 + Claude API,识别 RBAC/电商/CMS 模式
输出可视化 IDE 内文本 MCP 应用: Mermaid ER 图 / 依赖仪表盘 / code-diff / 包结构树
可观测性 无 server_metrics + ai_metrics + server_health

快速开始

Docker (推荐)

在 claude_desktop_config.json 添加:

本地开发

数据库支持范围

当前可连接、查询并读取元数据的数据库为 MySQL、PostgreSQL 和 SQLite。Oracle 与 SQL Server 的类型映射保留为后续扩展准备,但尚未实现运行时驱动和元数据契约,不能作为 当前可用数据库声明。

第一次使用

在 LLM 客户端里说 “从数据库 myapp 的 sys_user / sys_role / sys_user_role 三张表生成 Spring Boot 代码”,Claude 会:

  1. 加载 java-codegen-from-db 技能,按 5 阶段工作流推进
  2. 调用 db_connect_test → db_table_describe → db_table_foreign_keys 收集 schema

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

DBJavaGenix

把"用 LLM 看着数据库做反向工程"做成一件可重复、可审计的事。 Skills 定义"怎么做" · MCP 提供"能做什么" · MCP Apps 让结果"看得见"。

graph LR
    Client[Claude Desktop / Cursor / Cherry] -->|Skill 加载| Skills
    Skills[".claude/skills/java-codegen-from-dbspringboot-migration"]
    Skills -->|按需调用| MCP

    subgraph MCP[MCP Server 34 工具]
        direction TB
        DB[db_* 连接 / 查询 / 描述]
        Atom[codegen_build_contextcodegen_render_entity/dao/service/controller/dto/mapper]
        Graph[schema_topo_orderschema_cluster_tablesschema_check_cycles]
        AI[ai_infer_business_namesai_recommend_templateai_summarize_schema]
        Vis[db_render_er_diagram]
        Obs[server_metrics / server_healthai_metrics / search_tools]
    end

    MCP -->|返回 _meta| Apps[MCP Apps 渲染]
    Apps -->|mermaid / dashboard / code-diff / tree| Client
    MCP -->|读取| Data[MySQL / PostgreSQL / SQLite + Mustache templates]

它解决什么问题

把数据库表反向生成成 Spring Boot 工程 (Entity/DAO/Service/Controller/DTO/Mapper) 不是新东西 —— EasyCode、MyBatis-Plus Generator、Renren-generator 都做了多年。LLM 时代的区别在于:

维度 老工具 DBJavaGenix v0.2
工作流谁定 用户在 IDE 点配置面板 Skill 文件显式编排 (LLM 不会乱调)
调用粒度 一个大按钮一步到位 7 个原子工具 (build_context + 6 个 render_*),LLM 可中途让用户改 context 重渲
启动开销 (插件,常驻) 默认 ~3300 tok / 渐进模式 ~985 tok (节省 70%)
命名 表前缀机械映射 15 条规则 + Claude API,识别 RBAC/电商/CMS 模式
输出可视化 IDE 内文本 MCP Apps: Mermaid ER 图 / 依赖仪表盘 / code-diff / 包结构树
可观测性 无 server_metrics + ai_metrics + server_health

快速开始

Docker (推荐)

docker build -t dbjavagenix:latest .

在 claude_desktop_config.json 添加:

{
  "mcpServers": {
    "dbjavagenix": {
      "command": "docker",
      "args": ["run", "-i", "--rm",
               "-e", "DBJAVAGENIX_PROGRESSIVE=1",
               "-e", "ANTHROPIC_API_KEY",
               "dbjavagenix:latest"]
    }
  }
}

本地 dev

git clone https://github.com/ZhaoXingPeng/DBJavaGenix.git
cd DBJavaGenix
uv venv && uv pip install -e ".[dev]"
PYTHONPATH=src python -m dbjavagenix.cli server

数据库支持范围

当前可连接、查询并读取元数据的数据库为 MySQL、PostgreSQL 和 SQLite。Oracle 与 SQL Server 的类型映射保留为后续扩展准备,但尚未实现运行时驱动和元数据契约,不能作为 当前可用数据库声明。

第一次使用

在 LLM 客户端里说 “从数据库 myapp 的 sys_user / sys_role / sys_user_role 三张表生成 Spring Boot 代码”,Claude 会:

  1. 加载 java-codegen-from-db Skill,按 5 阶段工作流推进
  2. 调用 db_connect_test → db_table_describe → db_table_foreign_keys 收集 schema
  3. 调用 db_render_er_diagram → 客户端渲染 Mermaid ER 图
在 GitHub 查看完整 README

安装

docker run -i --rm -e DBJAVAGENIX_PROGRESSIVE=1 -e ANTHROPIC_API_KEY dbjavagenix:latest
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "dbjavagenix": { "command": "docker", "args": ["run", "-i", "--rm", "-e", "DBJAVAGENIX_PROGRESSIVE=1", "-e", "ANTHROPIC_API_KEY", "dbjavagenix:latest"] } } }