sql表逆向實體類和mapper和service:從 MySQL 建表語句生成 Java 實體

前言

後端項目裏,表結構往往先落在數據庫或 DDL 文檔裏,再手工補 Java 實體、MyBatis-Plus 註解和 Lombok。字段一多,類型映射和註釋對齊容易出錯,也費時間。下面介紹 SkillHub 上的社區 Skill @user_faca7523/sql-to-entity(頁面名稱:sql表逆向實體類和mapper和service),它面向「已有 CREATE TABLE、需要 Java 實體類」的逆向場景,由 Agent 按 Skill 約定解析 SQL 並生成帶註解的實體代碼。

這是什麼

一句話定位:把 MySQL 的 SQL 建表語句逆向成帶 MyBatis-Plus、Lombok 註解的 Java 實體類。

  • 座標:@user_faca7523/sql-to-entity
  • 版本:1.0.0
  • 來源:community(社區)
  • 分類:dev-programming
  • 發佈者:user_faca7523
  • SkillHub 頁面:https://www.skillhub.cn/skills/user_faca7523/sql-to-entity
  • API 地址:https://api.skillhub.cn/user_faca7523/sql-to-entity
  • 標籤:requires_api_key=false(無需 API Key)

官方簡介說明:當用戶需要從 SQL CREATE TABLE 生成 Java 實體類時使用;適用於數據庫表到 Java 實體類的逆向工程。頁面展示作者爲「巧鳳」,並標註爲作者自主發佈。

說明:Skill 名稱裏帶有 mapper、service 字樣,但 SkillHub 當前簡介只明確列出實體類生成能力(解析建表語句、註解實體、類型映射、表/字段註釋)。Mapper、Service 是否一併生成,應以安裝後的 SKILL.md 與 Agent 實際執行爲準,本文不展開未在官方簡介中寫明的能力。

核心功能

以下均來自 SkillHub 官方簡介,已覈對頁面與抓取資料:

  1. 解析 SQL 建表語句:以 CREATE TABLE 爲輸入起點。
  2. 生成帶註解的 Java 實體類:自動生成 MyBatis-Plus 與 Lombok 相關注解。
  3. 自動映射數據類型:按 MySQL 字段類型映射到 Java 類型(具體規則由 Skill 內指令定義)。
  4. 支持字段註釋和表註釋:建表語句中的註釋可落到實體或字段說明中。
  5. 數據庫範圍:明確支持 MySQL。

安裝與啓用

安裝方式以 SkillHub 技能頁爲準:請根據 SkillHub 安裝與優先源配置 安裝 @user_faca7523/sql-to-entity。

1、確認 SkillHub CLI

先檢查本機是否已有 skillhub:

command -v skillhub && skillhub --version

若未安裝,可按官方文檔執行完整安裝(含 CLI 與默認 Skill):

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

僅需 CLI 時:

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash -s -- --cli-only

2、安裝本 Skill

官方要求安裝時必須用 --dir 指向當前 Agent 的 skills 目錄,否則默認裝到 ./skills/ 可能不會被識別。

skillhub install @user_faca7523/sql-to-entity --dir <skills 目錄>

也可用搜索定位後再安裝:

skillhub search sql-to-entity
skillhub install @user_faca7523/sql-to-entity --dir <skills 目錄>

3、各客戶端 skills 目錄(節選)

SkillHub 文檔列出的常見路徑如下,按你實際使用的 Agent 替換上面的 <skills 目錄>:

環境 skills 目錄
Cursor ~/.cursor/skills/
Claude Code ~/.claude/skills/
Codex ~/.codex/skills/ 或項目下的 .agents/skills/
Windsurf ~/.codeium/windsurf/skills/ 或項目 .windsurf/skills/

安裝後若 Agent 未立即加載新 Skill,可按所用客戶端說明重啓或刷新技能列表。

典型用法

官方未在簡介頁給出完整對話示例,可復現的流程如下。

  1. 在已啓用該 Skill 的 Agent(如 Cursor)中,說明目標:根據下面 MySQL 建表語句生成 Java 實體類,使用 MyBatis-Plus 與 Lombok。
  2. 粘貼真實的 CREATE TABLE 語句(含表註釋、COMMENT 字段註釋、主鍵與常見 MySQL 類型)。
  3. 讓 Agent 按 Skill 輸出實體類源碼;你本地編譯、對照表結構做一次字段與類型覈對。

輸入形態應與官方描述一致:SQL 建表語句,而非僅表名或連接串。若項目有包名、實體命名規範(如去掉表前綴),在對話裏一併說明,便於生成結果直接落入工程。

適用場景與注意

適合誰

  • 已有 MySQL DDL,需要快速得到 Java 實體骨架的開發者。
  • 希望實體上統一帶上 MyBatis-Plus、Lombok 註解,減少手寫模板代碼的場景。
  • 在 AI 編程助手內做「表結構 → 代碼」逆向,而不是每次複製粘貼代碼生成器網頁結果。

限制與注意

  • 數據庫:簡介僅寫明 MySQL;其他方言的 CREATE TABLE 是否可用未在官方簡介中承諾。
  • 能力邊界:簡介聚焦實體類;不要默認會生成 Mapper 接口、XML 或 Service 層,除非你在本地 Skill 說明裏看到對應步驟。
  • 無需 API Key:requires_api_key=false,不依賴額外密鑰服務。
  • 社區來源:版本 1.0.0,發佈於社區頻道;複雜表(分區、特殊索引、生成列等)建議生成後人工審查。
  • 統計信息(SkillHub 抓取,供選型參考):評分 100000,下載 764,安裝 15;以商店頁面實時數據爲準。

結尾

@user_faca7523/sql-to-entity 把「MySQL 建表語句 → 帶 MyBatis-Plus、Lombok 註解的 Java 實體」收進 Agent Skill,適合在 Cursor 等環境裏做表到實體的逆向工程。安裝與目錄配置見 SkillHub 安裝文檔,技能詳情見官方頁面:https://www.skillhub.cn/skills/user_faca7523/sql-to-entity 。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜