Gorm连接MySQL:

import (
_ "github.com/go-sql-driver/mysql"
"github.com/jinzhu/gorm"
) type User struct {
Id int `json:"id"`
Name string `json:"name"`
Age int `json:"age"`
} func GormTest() {
dsn := username + ":" + password + "@tcp(" + addr + ")/" + datebase + "?charset=utf8&parseTime=true&loc=Local"
var err error
DB, err := gorm.Open("mysql", dsn)
if err != nil {
panic("MySQL conn failed:" + err.Error())
}
//DB.SingularTable(true)
}

数据库有复数表结构:

数据库有复数表结构users,代码中定义user或users结构体,均能操作:

DB.Create(&User{Name: "Li", Age: 5}) //成功
DB.Create(&Users{Name: "Li", Age: 5}) //成功

数据库有单数表结构:

数据库有单数表结构user,代码中定义user或users结构体,均不能操作:

DB.Create(&User{Name: "Li", Age: 5}) //Table 'test.users' doesn't exist
DB.Create(&Users{Name: "Li", Age: 5}) //Table 'test.users' doesn't exist

解决数据库单数表结构问题:

获取数据库连接时,增加一条配置:

DB.SingularTable(true)

此时,代码结构体单复数和数据库表名单复数必须对应,单对单,复对复:

DB.Create(&User{Name: "Li", Age: 5}) //成功
DB.Create(&Users{Name: "Li", Age: 5}) //Table 'test.users' doesn't exist

通过代码创建数据库表结构:

不加SingularTable配置,通过代码创建表,不管结构体是单数复数,生成的表都为复数:

 DB.AutoMigrate(&User{}) //生成users
DB.AutoMigrate(&Students{}) //生成students

加SingularTable配置,通过代码创建表,结构体单数生成单数表,结构体复数生成复数表:

 DB.AutoMigrate(&User{}) //生成user
DB.AutoMigrate(&Students{}) //生成students

公众号:李田路口

最新文章

  1. 小丁带你走进git世界五-远程仓库
  2. 【代码笔记】iOS-UITextField设置placeholder颜色
  3. python利用redis构成一个队列
  4. ASP.NET 导出gridview中的数据到Excel表中,并对指定单元格换行操作
  5. Java for LeetCode 031 Next Permutation
  6. activeMQ设置admin的用户名和密码
  7. Android WebView与JavaScript交互操作(Demo)
  8. API HOOK技术
  9. urllib
  10. 推荐一本好的c#高级程序设计教程
  11. 分享一个牛逼的PHP无限极分类生成树方法,巧用引用(转)
  12. puppet 4.4 System Requirements
  13. 感觉挺有意思的SQL题目
  14. 性能调优之Java系统级性能监控及优化
  15. yhTriangle_LinkQueue(队列实现杨辉三角)
  16. [Python]Conda 介绍及常用命令
  17. tcpdf中增加微软雅黑的正确方式
  18. scikit-learn全局图
  19. 人才需求之Java程序员与AI程序员
  20. HDU 2256 Problem of Precision (矩阵乘法)

热门文章

  1. Mysql 性能优化Explain详解
  2. 【一起学源码-微服务】Hystrix 源码一:Hystrix基础原理与Demo搭建
  3. lldb调试器知多少
  4. 对网站和项目使用IIS Express的64位版
  5. Webpack实战(三):作为前端你不得不懂的Webpack资源入口和出口的配置
  6. ChoiceFiled MultipleChoiceField ModelChoiceField ModelMultipleChoiceField
  7. spring整合Mybati时,只报空指针异常问题
  8. 5分钟搭建网站实时分析:Grafana+日志服务实战
  9. python3中的RE(正则表达式)
  10. Python中类属性和实例属性的区别