zoukankan      html  css  js  c++  java
  • 使用xorm将结构体转为sql文件

    操作步骤

    (1)定义结构体

    type User struct {
    Id int //表id
    Name string //姓名
    ...
    }
    1
    2
    3
    4
    5
    (2)编写代码,执行自动增量同步(mysql为例)

    import (
    "fmt"
    "testing"

    _ "github.com/go-sql-driver/mysql"
    "github.com/go-xorm/xorm"
    )

    func Test(t *testing.T) {
    engine, err := xorm.NewEngine("mysql",
    "root:密码@/数据库表名?charset=utf8")
    if err != nil {
    fmt.Println(err.Error())
    }
    err = engine.Sync(new(User))
    }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    需要注意

    (1)如果出现 cannot return value obtained from unexported field or method 错误:
    原因是xorm通过反射访问结构体,Go语言中小写默认为private,所以不能通过反射获取其值。
    所以只需要消除结构体中字段首字母不为大写的情况即可。
    (2)关于名称映射
    我们使用的是默认的core.SnakeMapper,它会将驼峰式命名转化为下划线。
    例: RegisterTime ---> register_time
    1
    2
    3
    4
    5
    6
    (3)获得SQL文件

    终端执行:

    mysqldump -uroot -p密码 数据库名 > xxx.sql
    1
    这样就完成了整个操作过程。
    ---------------------

  • 相关阅读:
    NSNotificationCenter通知
    UITextView 输入字数限制
    UITextView添加占位符 placeholder
    Label显示html文本
    响应者链
    UIKit框架各类简要说明
    [转]setValue和setObject的区别
    谓词(NSPredicate)
    iOS麦克风权限的检测和获取
    SOCKET是什么
  • 原文地址:https://www.cnblogs.com/ly570/p/11235463.html
Copyright © 2011-2022 走看看