go 从表结构生成结构体

博客提到要使系统支持beego,需修改table2Struct.go文件的295行和299行,并添加column()。还给出了转载来源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package main

import (
    "fmt"
    "github.com/gohouse/converter"
)


func main() {
    // 初始化
    t2t := converter.NewTable2Struct()
    // 个性化配置
    t2t.Config(&converter.T2tConfig{
        // 如果字段首字母本来就是大写, 就不添加tag, 默认false添加, true不添加
        RmTagIfUcFirsted: false,
        // tag的字段名字是否转换为小写, 如果本身有大写字母的话, 默认false不转
        TagToLower: false,
        // 字段首字母大写的同时, 是否要把其他字母转换为小写,默认false不转换
        UcFirstOnly: false,
        //// 每个struct放入单独的文件,默认false,放入同一个文件(暂未提供)
        //SeperatFile: false,
    })
    // 开始迁移转换
    err := t2t.
        // 指定某个表,如果不指定,则默认全部表都迁移
        Table("people").
        // 表前缀
        //Prefix("prefix_").
        // 是否添加json tag
        EnableJsonTag(true).
        // 生成struct的包名(默认为空的话, 则取名为: package model)
        PackageName("model").
        // tag字段的key值,默认是orm
        TagKey("orm").
        // 是否添加结构体方法获取表名
        RealNameMethod("TableName").
        // 生成的结构体保存路径,默认保存在当前目录
        SavePath("d:/model.go").
        // 数据库dsn,这里可以使用 t2t.DB() 代替,参数为 *sql.DB 对象
        Dsn("root:root@tcp(localhost:3306)/test?charset=utf8").
        // 执行
        Run()

    fmt.Println(err)

}

 改为支持beego,要修改一下table2Struct.go文件的295行和299行,添加column()

        if t.enableJsonTag {
            //col.Json = fmt.Sprintf("`json:\"%s\" %s:\"%s\"`", col.Json, t.config.TagKey, col.Json)
            //col.Tag = fmt.Sprintf("`%s:\"%s\" json:\"%s\"`", t.tagKey, col.Tag, col.Tag)
            col.Tag = fmt.Sprintf("`%s:column(\"%s\") json:\"%s\"`", t.tagKey, col.Tag, col.Tag)
        } else {
            //col.Tag = fmt.Sprintf("`%s:\"%s\"`", t.tagKey, col.Tag)
            col.Tag = fmt.Sprintf("`%s:column(\"%s\")`", t.tagKey, col.Tag)
        }

 

转载于:https://www.cnblogs.com/wujf/p/11040386.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值