当谈到golang中的ORM(Object-Relational Mapping)时,gorm是一个常用的框架。在此,我们将探讨gorm中的Model定义和tag使用。
- Model定义
在gorm中,Model定义表示数据库表和golang结构体之间的映射关系。基本上,每个数据库表都对应着一个golang结构体。
一个示例代码如下:
type User struct {
gorm.Model
Name string
Age int
}
该示例定义了一个名为User的结构体,并指定了它与gorm.Model之间的关系。gorm.Model包含了一些默认字段(ID、CreatedAt、UpdatedAt和DeletedAt)以及一些方法(BeforeCreate、BeforeUpdate等)。
- Tag使用
Tag是为了描述数据类型而添加的元信息。在ORM框架中,Tag通常用于描述字段对应数据库列的信息。在gorm中,可以使用tag来自定义表名、列名、约束等信息。
以下是一些常见的tag:
column
:指定列名。type
:指定数据类型。not null
:指定不为空。unique
:指定唯一性约束。default
:指定默认值。primary_key
:指定主键。auto_increment
:指定自增长。
示例如下:<