1、gorm的基本使用
golang常用库:操作数据库的orm框架-gorm基本使用 - 九卷 - 博客园
- 在go中需要定义一个struct, struct的名字就是对应数据库中的表名,注意gorm查找struct名对应数据库中的表名的时候会默认把你的struct中的大写字母转换为小写并加上“s”,所以可以加上 db.SingularTable(true) 让grom转义struct名字的时候不用加上s。
- gorm在转义表名的时候会把stuct的大写字母(首字母除外) 替换成“_”,如:"XzAutoServerConf "会转义成数数据库中对应“xz_auto_server_conf”的表名。
- 对应的字段名的查找会先按照tag里面的名称去里面查找,如果没有定义标签则按照struct定义的字段查找,查找的时候struct字段中的大写字母(首字母除外)会被转义成“_”,如:“GroupZone”会去查找表中的group_zone字段。
- 默认情况下,GORM 会使用
ID
作为表的主键。 - 默认情况下,整型
PrioritizedPrimaryField
启用了AutoIncrement
,要禁用它,您需要使用关闭`gorm:"auto_increment:false"关闭。
2、gorm标签的使用
golang gorm 最近在整理它的标签_程序员写的技术 FAQ 和杂文-CSDN博客_gorm 标签
标签 | 说明 |
column | 指定列的名称 |
size | 指定列的大小,默认是 255(针对string类型)、11(针对int类型) |
type | 指定列的类型 |
comment | 指定列的说明信息 |
not null | 指定列的数据不为空(非空约束),默认为空值null |
default | 指定一个列的默认值 |
auto_increment | 指定一个列的数据是否自增(只能修饰int字段) |
index | 创建带或不带名称的索引,同名创建复合索引——普通索引/复合索引 |
unique_index | 创建一个唯一的索引——唯一索引 |
primary_key | 创建一个主键索引——主键索引(唯一索引+非空约束) |
- | 忽略这些字段 |
foreignkey | 指定外键约束 |