Ai
1 Star 0 Fork 0

nicole-go-libs/sql-to-struct-lib

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
main.go 1.38 KB
一键复制 编辑 原始数据 按行查看 历史
沿途风景 提交于 2022-11-28 15:33 +08:00 . add:init
package service
import (
"database/sql"
"fmt"
"gitee.com/nicole-go-libs/sql-to-struct-lib/internal/model"
"gitee.com/nicole-go-libs/sql-to-struct-lib/internal/templates"
"gitee.com/nicole-go-libs/sql-to-struct-lib/libs/words"
"log"
)
func SqlTwoStructByTable(dbEngine *sql.DB, dataBaseName string, packageName string, saveFilePwd string, tableName string) {
tableList, _ := model.GetColumnsByDatabaseName(dbEngine, dataBaseName, tableName)
for _, column := range tableList {
fmt.Println(column.TableName)
sqlTwoStructByTableName(dbEngine, dataBaseName, column.TableName, packageName, saveFilePwd)
//time.Sleep(500 * time.Millisecond) //模拟执行的耗时任务
}
}
func sqlTwoStructByTableName(dbEngine *sql.DB, dataBaseName string, tableName string, packageName string, saveFilePwd string) {
// 获取表信息
tableCol, _ := model.GetColumnsByTableName(dbEngine, dataBaseName, tableName)
saveFile(tableCol, tableName, packageName, saveFilePwd)
}
func saveFile(tableCol []*model.TableColumn, tableName string, packageName string, saveFilePwd string) {
// 使用 templete
tlp := templates.NewStructTemplate()
structCol := tlp.AssemblyColumns(tableCol)
err := tlp.Generate(packageName, tableName, structCol, saveFilePwd, fmt.Sprintf("%sModel", words.ToCamelCase(tableName)))
if err != nil {
log.Fatalf("template.Generate err: %v", err)
}
//println(fmt.Sprintf("%s", structCol))
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/nicole-go-libs/sql-to-struct-lib.git
git@gitee.com:nicole-go-libs/sql-to-struct-lib.git
nicole-go-libs
sql-to-struct-lib
sql-to-struct-lib
v1.0.2

搜索帮助