当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/581610.html

相关文章:

  • D435i + ROS2
  • Kali制作Linux木马
  • C++ i386/AMD64平台汇编指令对齐长度获取实现
  • 基于ARM+FPGA的光栅尺精密位移加速度测试解决方案
  • React 英语单词消消乐一款专为英语学习设计的互动式记忆游戏
  • 第一次ctf比赛的赛后复现记录
  • 中国首家“小柯剧场音乐剧学院”正式成立
  • JavaScript 中导入模块时,确实不需要显式地写 node_modules 路径。
  • obs开发调研
  • 基于springboot的社区生鲜团购系统
  • # IS-IS 协议 | LSP 传输与链路状态数据库同步机制
  • 【黑马点评】(二)缓存
  • 模块化汽车基础设施的正面交锋---区域架构与域架构
  • QT 菜单栏设计使用方法
  • brpc怎么解决C++静态初始化顺序难题的?
  • golang 协程 如何中断和恢复
  • React 各颜色转换方法、颜色值换算工具HEX、RGB/RGBA、HSL/HSLA、HSV、CMYK
  • 存储延时数据,帮你选数据库和缓存架构
  • 微前端架构在嵌入式BI中的集成实践与性能优化
  • 20250706-4-Docker 快速入门(上)-常用容器管理命令_笔记
  • Windows 11 Enterprise LTSC 转 IoT
  • 前端防抖Debounce如何实现
  • 小白成长之路-mysql数据基础(三)
  • stm32地址偏移:为什么相邻寄存器的地址偏移量0x04表示4个字节?
  • 【JS逆向基础】数据分析之XPATH
  • android 获取手机配对的蓝牙耳机的电量
  • 【PyTorch】PyTorch中torch.nn模块的池化层
  • 全能视频处理工具介绍说明
  • [shad-PS4] docs | 内核/系统服务 | HLE-高等级模拟
  • Spark流水线数据质量检查组件