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 。

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

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

Xiaoye