当前位置: 首页 > news >正文

深圳人才网官方网站永久免费网页版linux

深圳人才网官方网站,永久免费网页版linux,采招网是怎样做的网站,建设网站的目标【1】ORM: 即Object-Relational Mapping,它的作用是在关系型数据库和对象之间作一个映射,这样我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它们就可以了。 【2】GORM gorm是go语言的一个orm…

【1】ORM:
即Object-Relational Mapping,它的作用是在关系型数据库和对象之间作一个映射,这样我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它们就可以了。

【2】GORM
gorm是go语言的一个orm框架,Golang写的,开发人员友好的ORM库。

【3】中文文档:
https://gorm.io/zh_CN/docs/

【4】安装GORM:
录入安装GORM的命令

go get -u gorm.io/gorm
go get -u gorm.io/driver/mysql


案列:
【1】创建一个数据库:testgorm

package mainimport ("fmt""gorm.io/driver/mysql" //引入mysql驱动"gorm.io/gorm"
)func main() {//连接数据库://参数:指的是数据库的设置信息:用户名:密码@tcp(ip:port)/数据库名字?charset=utf8&parseTime=True&loc=Local//charset=utf8设置字符集//parseTime=True为了处理time.Time//loc=Local时区设置,与本地时区保持一致dsn := "root:root@tcp(127.0.0.1:3306)/testgorm?charset=utf8&parseTime=True&loc=Local"db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})if err != nil {panic(err) //如果出错,后续代码没有必要执行,想让程序中断,panic来执行即可}//创建表方式一:通常情况下,数据库中新建的表的名字是结构体名字的复数形式,例如结构体User,表名usersif err := db.AutoMigrate(&User{}); err != nil {panic(err)}//创建表方式二:Table方法可以指定你要创建的数据库的表名if err := db.Table("user").AutoMigrate(&User{}); err != nil {panic(err)}//删除表if !db.Migrator().HasTable(&User{}) {fmt.Println("table does not exist")} else {if err := db.Migrator().DropTable(&User{}); err != nil {panic(err)}}}// 定义结构体
type User struct {Age  intName string
}

【2】表名自定义规则

//【1】模型名称和表名的映射规则:
//1、如果模型名没有驼峰命名,那么表名就是:模型名小写+复数形式:如模型名User---》表名users
//2、如果模型名有驼峰命名,那么表名就是:大写变小写并在前面加下划线,最后加复数形式:如模型名UserInfo---》表名user_infos
//3、如果模型名有连续的大写字母,那么表名就是:连续的大写字母变小写,驼峰前加下划线,字母变小写,最后加复数形式:如模型名:DBUserInfo---》表名db_user_infos
type User struct {Age  intName string
}type MyUser struct {Age  intName string
}//自定义表名
func (MyUser) TableName() string {return "test_my_user"
}

【3】gorm.Model匿名字段

只需要再自己的模型中指定gorm.Model匿名字段,即可在数据库表中包含四个字段:ID,CreatedAt,UpdatedAt,DeletedAt
ID:主键自增长
CreatedAt:用于存储记录的创建时间
UpdatedAt:用于存储记录的修改时间
DeletedAt:用于存储记录的删除时间
代码:

type MyUser2 struct {gorm.ModelAge  intName string
}

【4】通过结构体标签gorm来实现表的约束 

(1)-: 忽略,不映射这个字段 eg:gorm:"”,适合:一些冗余字段,不想在数据库中体现,只想在结构体中体现

(2)primary key:主键eg:gorm:"primary key
(3)AUTO INCREMENT:自增 eg:`gorm:"AUTO INCREMENT"

(4)not null:不为空,默认为空 eg:gorm:"not null"
(5)index:索引,eg:gorm:"index"
创建索引并命名:eg:gorm:"index:idx name_code"

(6)unique index:唯一索引 eg:`gorm:"unique index"唯一性索引unique index和一般索引normal index最大的差异就是在索引列上增加了一层唯一约束。添加唯一性索引的数据列可以为空,但是只要存在数据值,就必须是唯一的。

(7)unique:唯-eg:gorm:"unique"

(8)column:指定列名eg:`gorm:"column:user name

(9)size:字符串长度,默认为255 eg:gorm:"size:10"`
(10)default`default:'男”默认值
(11)type:设置sql类型 eg:gorm:"type:int(2)"
PS:多个属性值之间用分号分隔

代码:

type Student struct {StuID   int    `gorm:"primary_key;AUTO_INCREMENT"`Name    string `gorm:"not null"`Age     int    `gorm:"unique_index"` //`gorm:"index:name_index"`Email   string `gorm:"unique"`Sex     string `gorm:"column:gender;size:10"`Desc    string `gorm:"-"`Classno string `gorm:"type:int"`
}

http://www.yayakq.cn/news/753813/

相关文章:

  • 东莞网站建设定制常平网站开发
  • 国外的有趣设计网站wordpress手机客户端源码
  • html5手机网站制作教程怎么增加网站权重
  • 设计名字的网站微盟登录平台
  • 建设工程网站168wordpress模板电影
  • 做企业展示网站需要多少钱上海企业登记一网通办
  • asp程序制作网站微商城网站建设哪家好
  • 新网做网站流程跨境电商导购网站建设
  • wordpress做作品集优化网站排名哪家好
  • 建国际网站需要多少钱网站编辑器无法显示
  • 免费建立永久网站烟台电子商务产业园网站建设
  • 建设网站写需求分析报告能用的免费proxy网页
  • 做淘宝客网站需要多大空间大公司网站建设建网站
  • 郑州网站建设排行商丘网红排行榜
  • 网站后台怎么做超链接如何开公司
  • expedia电子商务网站建设网页设计与制作思考建议
  • 邹城网站建设zc273500怎样更换网站模板
  • 网站建设廉政风险点意大利设计网站
  • 做网站的必备软件爱站网seo综合查询工具
  • 营销型企业网站模板搜索引擎是网站吗
  • 青县建设银行网站做网站都需要学什么
  • 幼儿教育网站源码网站关键词怎么改
  • 汕头网站设计公司网站cn和com有什么区别
  • 凡科建站官网江苏国税网站电子申报怎么做
  • 佛山seo网站推广批量 网站标题
  • 贾汪区住房和城乡建设局网站保健品网站源码
  • 佛山网站建设网站建设有了实名制域名怎么做网站
  • 黑龙江建设人员证件查询网站微信开放平台登陆
  • 临西网站建设费用有口碑的南昌网站制作
  • 网站html地图导航代码微信公众平台注册方法