解析 CREATE TABLE,生成 Java POJO / Lombok / JPA 实体类。

切换工具
CREATE TABLE 输入
生成的 Entity0 张表

使用说明

用途

SQL 建表语句转 Java 实体类工具,把 CREATE TABLE DDL 转换为带 JPA / MyBatis-Plus / Lombok 注解的 Java POJO 类。智能映射 SQL 类型(VARCHAR → String、INT → Integer、TIMESTAMP → LocalDateTime、DECIMAL → BigDecimal),生成字段注释(来自 SQL COMMENT)、@Column 注解、@Id 主键标识、@GeneratedValue 自增策略。同时支持下划线转驼峰、可选 getter/setter(不用 Lombok 时)、Builder 模式。所有转换在浏览器本地完成。

操作步骤

  1. 左侧粘贴 CREATE TABLE 语句(含 COMMENT 更好)
  2. 选 ORM:JPA(Hibernate)/ MyBatis-Plus / 纯 POJO
  3. 选注解风格:Lombok(@Data 简洁)/ 显式 getter setter
  4. 右侧实时输出 Java 类代码
  5. 字段名:自动 snake_case → camelCase(user_name → userName)
  6. 类型映射:INT → Integer 或 int,DATETIME → LocalDateTime 等可配
  7. 主键:@Id @GeneratedValue 自动加
  8. 类注释:从表 COMMENT 提取作为 Javadoc

常见问题

JPA 和 MyBatis-Plus 的注解差异?
**JPA**: @Entity @Table @Column @Id @GeneratedValue(javax.persistence / jakarta.persistence 包)。**MyBatis-Plus**: @TableName @TableField @TableId(com.baomidou.mybatisplus.annotation 包)。两套不能混用。Spring Data JPA 选 JPA,传统 MyBatis 项目 + plus 增强选 MyBatis-Plus。
类型映射有些坑要注意?
**TIMESTAMP/DATETIME**: 推荐 LocalDateTime(Java 8+)而不是 Date。**DATE**: LocalDate。**TIME**: LocalTime。**DECIMAL/NUMERIC**: BigDecimal(不能用 double 防精度丢失)。**TINYINT(1)**: 注意是 Boolean 还是 Integer,看业务(0/1 是 Boolean,0-9 是状态码用 Integer)。**TEXT/LONGTEXT**: String + @Column(columnDefinition = "TEXT")。
主键自增策略怎么选?
**JPA @GeneratedValue 策略**: IDENTITY(MySQL AUTO_INCREMENT 用这个)、SEQUENCE(Oracle / PostgreSQL)、AUTO(让 ORM 自己选,不推荐)、TABLE(用专门的序列表)。**MyBatis-Plus @TableId 策略**: AUTO(数据库自增)、ASSIGN_ID(雪花算法)、ASSIGN_UUID(UUID)。
复合主键怎么生成?
JPA 用 @IdClass 或 @EmbeddedId 实现复合主键。**@IdClass**: 创建单独的 ID 类,实体类标多个 @Id 字段。**@EmbeddedId**: 把主键字段封装成嵌入类。**本工具检测到 PRIMARY KEY (col1, col2) 这种**会自动选 @IdClass 风格生成两个类。
表名 / 字段名带前缀(如 t_user)怎么处理?
本工具有"去前缀"选项:勾选后表名 t_user 生成类 User(去掉 t_),字段名 f_name 生成属性 name(去掉 f_)。**实际项目**: 前缀通常是数据库规范要求(避免不同模块表名冲突),Java 类不需要保留,去掉后代码更简洁。

应用场景

  • 从老项目导出 SQL:DBA 给的 DDL 一键转 Java 实体
  • 数据库设计转代码:从设计稿(用 DDL 表达)生成实体类
  • PowerDesigner / DB schema 工具导出 SQL 后批量转
  • 微服务拆分:原大表 SQL 拆几个小表后批量生成新实体
  • 数据库迁移:旧库 DDL 生成实体,验证字段一致性

适用场景

SQL DDL 转实体类、数据库设计转代码、PowerDesigner / Navicat 导出处理、微服务拆表、数据库迁移。Java 后端、DBA、架构师常用。JPA/MP 双 ORM 支持、Lombok 选项、类型智能映射、复合主键是关键差异点。