xorm reverse 反向映射数据库表生成实体

  1. 安装go-xrom
 go get -u github.com/go-xorm/cmd/xorm
  1. 修改默认模板配置
    进到 %GOPATH%src/github.com/go-xorm/cmd/xorm/templates/goxorm 目录下
    有两个文件

    修改config配置:

    文档有对genJson描述
    prefix 指实体映射时的前缀,添加即可在生成实体时,自动去除表名中的相应前缀
    例: 表名 t_user
    prefix 为空时 生成的对象文件 t_user.go 对象名 TUser ,
    为 t_ 时 生成的对象文件 user.go 对象名 User
    但如果在生成对象时将 t_ 作为前缀,在后续使用该对象时,也需要在生成session对象前
    将表的映射前缀添加上

    tbMapper := core.NewPrefixMapper(core.SnakeMapper{}, "t_")
    engine.SetTableMapper(tbMapper)
    

created、updated 添加表中字段名,作为默认映射关系

  1. 使用命令生成实体
xorm reverse mysql user:password@tcp(127.0.0.1:3306)/tableName ../github.com/go-xorm/cmd/xorm/templates/goxorm ./app/model

命令详解:

xorm help reverse
usage: xorm reverse [-s] driverName datasourceName tmplPath [generatedPath] [tableFilterReg]according database's tables and columns to generate codes for Go, C++ and etc.-s                Generated one go file for every tabledriverName        Database driver name, now supported four: mysql mymysql sqlite3 postgresdatasourceName    Database connection uri, for detail infomation please visit driver's project pagetmplPath          Template dir for generated. the default templates dir has provide 1 templategeneratedPath     This parameter is optional, if blank, the default value is models, then willgenerated all codes in models dirtableFilterReg    Table name filter regexp

附上未使用前缀生成的实体

package modelimport ("time"
)type TAdmin struct {AccountName string    `json:"account_name" xorm:"comment('用户真实姓名') VARCHAR(64)"`AdminId     int       `json:"admin_id" xorm:"not null pk comment('Id,主键字段') INT"`Avatar      string    `json:"avatar" xorm:"comment('用户头像地址') VARCHAR(255)"`CreatedAt   time.Time `json:"created_at" xorm:"created comment('创建时间') DATETIME"`Email       string    `json:"email" xorm:"comment('用户邮箱') VARCHAR(128)"`Enable      int       `json:"enable" xorm:"not null default 1 comment('是否启用 默认1 启用 0 停用') TINYINT"`Gender int `json:"gender" xorm:"default 0 comment('性别 0男 1女 2 未知') INT"`LoginName string    `json:"login_name" xorm:"not null comment('用户登录名,工号字段') unique VARCHAR(64)"`NickName  string    `json:"nick_name" xorm:"comment('昵称 用于展示') VARCHAR(64)"`Password  string    `json:"password" xorm:"comment('用户密码') VARCHAR(64)"`UpdatedAt time.Time `json:"updated_at" xorm:"updated comment('更新记录时间') DATETIME"`
}

官方操作文档
github地址

xorm reverse相关推荐

  1. xorm reverse mysql_xorm 工具

    # xorm 工具 xorm 是一组数据库操作命令行工具. ### 二进制安装 如果你安装了 [got](https://github.com/gobuild/got),你可以输入如下命令安装: ~~ ...

  2. Golang实践录:xorm使用记录

    xorm使用记录.主要针对 mysql,也会涉及其它的. 技术总结 提供通用接口,适用于多种数据库,隐藏细节.但需要手动添加数据库驱动(Golang 本身亦如是). 可以用 Sync2 创建数据表,多 ...

  3. 使用xorm工具,根据数据库自动生成 go 代码

    引入 使用 golang 操作数据库的同学都会遇到一个问题 -- 根据数据表结构创建对应的 struct 模型.因为 golang 的使用首字母控制可见范围,我们经常要设计 struct 字段名和数据 ...

  4. mysql连接 xorm_golang 使用xorm操作mysql

    xorm 官方介绍:xorm是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作非常简便.xorm的目标并不是让你完全不去学习SQL,我们认为SQL并不会为ORM所替代,但是ORM将可以解决绝 ...

  5. 4-2 数据模型的生成

    4-2 数据模型的生成 xorm使用可以查看:https://blog.csdn.net/INGNIGHT/article/details/104957116 cd github.com/go-xor ...

  6. mysql连接 xorm_xorm

    Windows: d: cd d:\goproject\bin xorm reverse mysql root:888888@tcp(127.0.0.1:3306)/golanglab?charset ...

  7. xorm框架基础知识学习

    网址 xorm github地址:https://github.com/go-xorm/xorm xorm中文学习文档:https://xorm.io/zh/ xorm xorm是一个简单而强大的go ...

  8. 206. Reverse Linked List

    Reverse a singly linked list. 反转单链表 C++(9ms):  迭代 1 /** 2 * Definition for singly-linked list. 3 * s ...

  9. LeetCode 7. Reverse Integer

    问题链接 LeetCode 7 题目解析 给定一个32位有符号整数,求其反转数字. 解题思路 如果是简单反转的话,那这道题就太简单了.题目要求判断溢出问题,32位int类型的范围是-214748364 ...

最新文章

  1. 顺序表的删除(按位置删、头删、尾删)
  2. 连接函数vc++笔记---CDatabase类
  3. Mysql Router 读写分离配置
  4. 编程方法学22:NameSurfer概述
  5. Educational Codeforces Round 37 (Rated for Div. 2) 1
  6. 随想录(改进的豆瓣爬行代码)
  7. 探讨证明H3C模拟器Wvrp5.2a不支持子接口的实验--对网友sy999的回复
  8. apache2 安装时报错 ServerRoot must be a valid directory
  9. 资源 | 有没有必要把机器学习算法自己实现一遍?
  10. hdu--1869--见过最好听的题名附送1870
  11. Linux文件查找及压缩工具
  12. 爱立信笔试c语言,爱立信招聘笔经_ 7索尼爱立信北京暑期实习笔试题_笔试
  13. 屏幕准星工具软件_非常简单好用
  14. 一篇文章告诉你雅虎这20年经历了什么
  15. JavaScript数据类型 - Undefined类型
  16. WEEK 7作业 A-TT的魔法猫 B-TT的旅行日记 C-TT的美梦
  17. 小程序开发之组件video(视频)
  18. 超实用的Mac快捷键神器:CheatSheet Mac中文免费版
  19. Verilog HDL——运算符
  20. wlan从入门到精通第六期STA接入过程

热门文章

  1. pajek19-20:精简社会网络
  2. 服务器蓝屏 查看系统日志文件,Windows10系统查看蓝屏日志的方法
  3. Springboot+Vue的前后端分离的相册管理系统
  4. java构造函数有几种_java构造函数的三种类型总结
  5. L2-037 包装机 - java
  6. python代码复制到word有颜色_Python复制Word内容并使用格式设字体与大小实例代码...
  7. 微信云linux sdk下载,02.微信SDK下载及安装
  8. 魅族 android9.0,魅族Flyme9含内测答案最新版-魅族Flyme9.0内测版v9.0 安卓版-腾飞网...
  9. 90[8j9ph78pg78og78og6
  10. MacW资讯:微软确认没有启动Mac版Office订阅计划