SQL 一键转 GORM 模型,支持字段注释、类型映射、tag 自定义!
SQL 一键转 GORM 模型,支持字段注释、类型映射、tag 自定义!
在使用 Golang + GORM 开发项目时,你是否也经历过这些「重复性痛苦」:
- ✅ 拿到建表 SQL,要手动写 struct
- ✅ 字段多、类型复杂,还要写 json、gorm tag
- ✅ COMMENT 注释想同步到代码里?只能手敲?
现在你只需要一个工具:
👉 SQL 转 GORM 在线生成器(支持 MySQL / PostgreSQL / Oracle)
只需粘贴 SQL,即可自动生成 GORM 模型,字段、注释、tag 一应俱全!
🧪 示例演示:从 SQL 到 GORM struct
输入建表 SQL:
CREATE TABLE user (id BIGINT PRIMARY KEY COMMENT '用户ID',username VARCHAR(100) NOT NULL COMMENT '用户名',email VARCHAR(255) COMMENT '邮箱地址',is_active BOOLEAN DEFAULT true COMMENT '是否启用',created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
);
输出 Go Struct:
// Code generated by https://gotool.top
package modelimport ("gorm.io/gorm"
)// User
type User struct {Id int64 `gorm:"column:id;primary_key;comment:'用户ID'"`Username string `gorm:"column:username;NOT NULL;comment:'用户名'"`Email string `gorm:"column:email;comment:'邮箱地址'"`IsActive string `gorm:"column:is_active;default:true;comment:'是否启用'"`CreatedAt string `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:'创建时间'"`
}// TableName 表名
func (u *User) TableName() string {return "user"
}// UserRepo
type UserRepo struct {DB *gorm.DB
}func NewUserRepo(db *gorm.DB) *UserRepo {return &UserRepo{DB: db}
}// Create 插入数据
func (u *UserRepo) Create(entity *UserRepo) error {return r.DB.Create(entity).Error
}// GetByID 根据 ID 获取数据
func (u *UserRepo) GetByID(id interface{}) (*UserRepo, error) {var entity UserRepoif err := r.DB.First(&entity, id).Error; err != nil {return nil, err}return &entity, nil
}// GetAll 获取所有数据
func (u *UserRepo) GetAll() ([]*UserRepo, error) {var entities []*UserRepoif err := r.DB.Find(&entities).Error; err != nil {return nil, err}return entities, nil
}// Update 更新数据
func (u *UserRepo) Update(entity *UserRepo) error {return r.DB.Save(entity).Error
}// DeleteByID 根据 ID 删除数据
func (u *UserRepo) DeleteByID(id interface{}) error {return r.DB.Delete(new(UserRepo), id).Error
}
无需插件、无需安装,浏览器打开,粘贴 SQL 即生成!
✨ 核心亮点功能
功能点 | 描述 |
---|---|
✅ 支持主流数据库语法 | 兼容 MySQL、PostgreSQL、Oracle 的建表语法 |
✅ 自动生成 tag | 支持 gorm , json , 可选 form , binding , db 等 tag |
✅ 自动类型映射 | SQL 类型 → Go 类型智能转换(支持 int64, string, bool, time.Time 等) |
✅ 保留字段注释 | SQL 中的 COMMENT 转为 Go 代码注释 |
✅ 自定义类名 | 可设置结构体名称、字段命名风格(驼峰 / 下划线) |
✅ 多表支持 | 一次性处理多个建表语句,生成多个 struct |
✅ 零依赖 | 在线工具,纯前端处理,无需登录或安装任何插件 |
🚀 开发场景广泛适用
- 快速从数据库导出建表 SQL,生成后端 GORM 模型
- 接手旧项目,拿到 SQL 脚本后快速建模
- 构建代码生成工具链的一部分
- 保证字段注释 + 结构体一致性,减少出错率
- 数据表字段频繁变更时,自动同步 Golang 代码结构
🌐 工具地址
🔗 工具入口:
👉 https://gotool.top/handlesql/sql2gorm
复制 SQL → 一键生成 → 复制即可用!
🎁 附加福利:更多开发效率工具
该工具由 GoTool.Top 提供,是一个专为开发者打造的工具站,还包含:
- ✅ JSON 转 Java Bean:json-to-java
- ✅ SQL 转 Java:sql-to-java
- ✅ SQL 转自定义模板:sql-to-custom
- ✅ CURL 转代码(Go / Python / Java)
- ✅ Struct 转 JSON、UUID 生成、时间戳转换等
一站式解决开发过程中的各种“小工具刚需”!
❤️ 最后
如果你也经常手写 GORM 结构体,不如收藏这个工具,节省重复劳动时间,让你把更多精力放在业务逻辑上。
📌 点赞 + 收藏 + 转发本文,别让你的同事还在一行一行地写 struct!
👉 工具直达:https://gotool.top/handlesql/sql2gorm