Java 实体转建表 SQL 后端生成 · 免登录
Java 实体类反推建表语句,支持 MySQL、PostgreSQL、Oracle、SQL Server、SQLite
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 生成器。