实体转换工具箱

MySQL表结构 ↔ 实体代码 / JSON ↔ 实体 (TypeScript / Java) · 本地处理无上传

转换源
目标语言
命名风格
自定义类名(可选)
📝 输入 CREATE TABLE 语句1 行
✨ 生成的实体代码 (TypeScript)1 行

什么是实体转换工具箱?

实体转换工具箱是一种代码生成工具,它可以将 MySQL 表结构(CREATE TABLE 语句)或 JSON 数据自动转换为 TypeScript 接口定义或 Java 实体类(POJO)。这种工具大幅减少了后端开发者手动编写实体代码的工作量,避免手写带来的字段遗漏和类型错误。

在前后端开发中,数据库表结构与代码中的实体类是一一对应的。手动编写这些重复性的实体代码既枯燥又容易出错——字段名拼写错误、类型映射不准确、注释遗漏等问题时有发生。实体转换工具通过解析源数据自动生成代码,确保字段名、类型和注释完全准确。

本工具支持两种输入源:MySQL DDL 语句和 JSON 数据。MySQL DDL 模式会提取字段名、类型和 COMMENT 注释;JSON 模式会自动推导数据结构,包括嵌套对象和数组。输出的代码支持 TypeScript 接口和 Java POJO 两种格式,并可自定义命名风格。

为什么需要实体转换工具箱?

实体代码生成是后端开发中的高频需求:

  • 新建项目:根据数据库表结构快速生成所有实体类,加速项目初始化
  • 接口对接:从 API 返回的 JSON 数据生成 TypeScript 类型定义,提升前端开发效率
  • 表结构变更:数据库字段修改后,重新生成实体代码,避免手动同步遗漏
  • 多语言项目:同一套表结构需要同时生成 TypeScript 和 Java 代码
  • 代码规范:统一命名风格(驼峰/帕斯卡),保持项目代码一致性

使用 IqsBot 实体转换工具箱,你可以快速将表结构或 JSON 转换为规范的实体代码,支持自动提取注释、自定义命名风格和 Lombok 注解。

相比其他代码生成工具,IqsBot 的核心优势是纯浏览器端运行——你的数据库结构和 JSON 数据不会上传到任何服务器,完全在本地处理,安全可靠。

如何使用 IqsBot 实体转换工具箱

基础用法

MySQL DDL 转 TypeScript:

  1. 选择转换源为「MySQL 表结构」
  2. 粘贴 CREATE TABLE 语句
  3. 选择目标语言为 TypeScript
  4. 点击「生成实体」查看生成的接口代码

JSON 转 Java POJO:

  1. 选择转换源为「JSON 样本」
  2. 粘贴 JSON 数据
  3. 选择目标语言为 Java,勾选「使用 Lombok」
  4. 点击「生成实体」查看生成的 Java 类

高级功能

  • 双输入源:支持 MySQL DDL 和 JSON 两种输入格式
  • 双目标语言:支持生成 TypeScript 接口和 Java POJO
  • 命名风格:支持驼峰(camelCase)、帕斯卡(PascalCase)和保持原名
  • Lombok 支持:Java 生成可选择 @Data、@AllArgsConstructor、@NoArgsConstructor 注解
  • 自动生成:停止输入 0.5 秒后自动触发转换
  • COMMENT 提取:MySQL 模式自动提取字段注释作为代码注释
  • 嵌套结构:JSON 模式支持深层嵌套对象和数组的类型推导

使用示例

示例1:MySQL DDL 转 TypeScript

输入:

CREATE TABLE user_info (
  id INT PRIMARY KEY COMMENT '用户ID',
  user_name VARCHAR(100) NOT NULL COMMENT '用户名',
  created_at DATETIME COMMENT '创建时间'
);

输出:

export interface UserInfo {
  /** 用户ID */
  id: number;
  /** 用户名 */
  userName: string;
  /** 创建时间 */
  createdAt: Date;
}

示例2:JSON 转 Java POJO(Lombok)

输入:

{"userId": 101, "name": "张三", "tags": ["dev"]}

输出(带 Lombok 注解的 Java 类,包含嵌套类型定义)

常见问题

Q: 支持 MySQL 以外的数据库吗?

A: 目前主要针对 MySQL 的 CREATE TABLE 语法进行了优化。但大多数 SQL 数据库的 DDL 语法类似,PostgreSQL、MariaDB 等的标准 DDL 通常也能正确解析。如果遇到解析失败,可以尝试简化 DDL 语句。

Q: JSON 模式支持多深嵌套?

A: 支持任意深度的嵌套对象和数组。每个嵌套对象都会生成独立的类型定义(TypeScript 接口或 Java 内部类),数组元素的类型也会自动推导。

Q: MySQL 类型映射规则是什么?

A: INT → Integer/number,BIGINT → Long/number,VARCHAR/TEXT/CHAR → String/string,DATETIME/TIMESTAMP → LocalDateTime/Date,DATE → LocalDate/Date,DECIMAL → BigDecimal/number,BOOLEAN/TINYINT(1) → Boolean/boolean。未识别的类型默认映射为 String/string。

Q: 生成的代码可以直接复制到项目中吗?

A: 可以。生成的代码是标准的 TypeScript 接口或 Java POJO,可以直接复制使用。Java 代码的包名默认为 com.example.entity,你可能需要修改为自己的包名。

Q: 我的数据会上传到服务器吗?

A: 绝对不会。IqsBot 的所有工具都运行在浏览器本地,你的数据库 DDL、JSON 数据和生成的代码都不会上传到任何服务器,完全在本地处理。

Q: 自动生成是实时的吗?

A: 是的。停止输入 0.5 秒后自动触发转换,无需手动点击。你也可以随时点击「生成实体」按钮手动触发。