SQL 转 Struct/Entity - 五岁小孩

加载中...

SQL 转 Struct/Entity

SQL DDL 语句
0 字符 | 0
生成代码
0 字符 | 0

功能说明

智能解析 SQL:支持解析 MySQL/PostgreSQL/SQLite 的 CREATE TABLE DDL 语句,自动提取表名、字段名、类型、注释等信息

多语言输出:支持生成 Go struct、Java Entity、Python dataclass、TypeScript interface、Rust struct、C# class、Kotlin data class

标签支持:自动生成 JSON 标签和数据库 ORM 标签(GORM/JPA/SQLAlchemy/TypeORM 等),开箱即用

注释保留:SQL 字段的 COMMENT 注释自动转为代码注释,保持代码可读性

隐私安全:纯本地处理,数据不上传服务器,可安全使用生产环境 DDL

使用场景

快速建模
从数据库导出 DDL 后一键生成代码模型,省去手动定义 struct/class 的繁琐工作。

ORM 映射
生成的代码包含完整的 ORM 标签,可直接用于 GORM、JPA、TypeORM 等框架。

多语言微服务
同一张表需要在不同语言的服务中使用时,切换目标语言快速生成对应代码。

常见问题(FAQ)

支持哪些 SQL 方言?

支持 MySQL、PostgreSQL 和 SQLite 的 CREATE TABLE 语法。自动识别各方言特有的数据类型(如 MySQL 的 bigint、tinyint,PostgreSQL 的 serial、text、jsonb 等),并正确映射为目标语言的对应类型。

SQL 类型是怎么映射到编程语言类型的?

映射规则示例:bigint → Go int64 / Java Long / Python int;varchar/text → string/String/str;decimal → float64/BigDecimal/Decimal;datetime/timestamp → time.Time/LocalDateTime/datetime;tinyint(1) → bool/Boolean/bool。可空字段会使用对应语言的可空类型(如 Go 的 *string、Java 的 Integer)。

可以同时转换多张表吗?

可以。输入多条 CREATE TABLE 语句(用分号隔开),工具会自动识别并分别生成对应的 struct/class。每张表生成独立的类型定义,按表名在输出中用注释分隔,方便拆分到不同文件。