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