erd.sketch

SQL 转 Java:从 DDL 脚本生成模型

下面不是示意图:这是生成器对左边脚本的真实输出。在编辑器里点「Codegen → Java」得到的就是同一份代码。

输入schema.sql
CREATE TABLE users (
    id BIGINT NOT NULL PRIMARY KEY,
    email       VARCHAR(255) NOT NULL UNIQUE,
    full_name   VARCHAR(120),
    is_active   BOOLEAN NOT NULL,
    created_at  TIMESTAMP NOT NULL
);

CREATE TABLE orders (
    id BIGINT NOT NULL PRIMARY KEY,
    user_id     BIGINT NOT NULL REFERENCES users(id),
    total       DECIMAL(12,2) NOT NULL,
    note        TEXT,
    placed_at   TIMESTAMP NOT NULL
);
输出Models.java
import java.time.LocalDateTime;
import java.math.BigDecimal;

public record Users(
    long            id,
    String          email,
    String          fullName,
    boolean         isActive,
    LocalDateTime   createdAt
) {}

public record Orders(
    long            id,
    long            userId,  // → users.id
    BigDecimal      total,
    String          note,
    LocalDateTime   placedAt
) {}
打开编辑器

脚本留在浏览器里:解析和生成都在您的机器上进行,不会上传到服务器。

类型如何对应

在 SQL 里在模型里
BIGINTlong
VARCHAR(255)String
BOOLEANboolean
TIMESTAMPLocalDateTime
DECIMAL(12,2)BigDecimal
TEXTString
可空字段
String
列名
fullName
关系
// → users.id