🧱

Java 实体转建表 SQL 后端生成 · 免登录

Java 实体类反推建表语句,支持 MySQL、PostgreSQL、Oracle、SQL Server、SQLite

输入 Java 实体类代码
生成结果
数据库方言: 表名:

Java 实体转建表 SQL 使用说明

粘贴 Java 实体类源码,自动解析字段与注解,按所选数据库生成可直接执行的 CREATE TABLE 语句。支持一次性输出多数据库方言,方便在 MySQL、PostgreSQL、Oracle、SQL Server、SQLite 之间迁移或初始化表结构。

支持的注解:MyBatis-Plus 的 @TableName、@TableId、@TableField;JPA 的 @Table、@Column、@Id、@GeneratedValue、@Transient、@Temporal;Hibernate 的 @Comment、@Lob。Lombok 的 @Data 等注解不影响解析。

类型映射:Long→bigint、Integer→int、BigDecimal→decimal(18,4)、Boolean→MySQL 用 tinyint(1)、LocalDateTime→datetime/timestamp、byte[]→blob/bytea、UUID→uuid/char(36),其余非基础类型按 varchar(32) 生成。

主键与注释:@Id 或 @TableId 生成主键;勾选「主键自增」且为单整数主键时,按方言生成 AUTO_INCREMENT / IDENTITY / GENERATED BY DEFAULT AS IDENTITY。类注释作为表注释,字段 Javadoc 或 @Comment 作为列注释(PostgreSQL / Oracle 输出 COMMENT ON,SQL Server 输出扩展属性,SQLite 不支持注释)。

字段过滤:static / final / transient 字段、集合类型以及 @Transient、@TableField(exist = false)、@OneToMany 等关联字段会自动跳过,并在页面上列出。

反向链路:需要从建表语句生成实体类可使用 SQL 转 Java,需要 Mapper 接口与 XML 可使用 MyBatis Mapper 生成器。

相关工具