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

深圳市网站建设_网站建设公司_建站流程_seo优化

网站制作呼和浩特,昆山网站建设哪里好,大学生网站建设开题报告,校园社交网站开发的目的与意义文章目录 安装连接数据库Gorm基本示例自动迁移创建数据行查询数据更新数据删除数据 Gorm Model主键表名列名 时间戳CreatedAtUpdatedAtDeletedAt GORM#xff08;Go Object Relational Mapper#xff09;是一个在Go语言中使用的对象关系映射#xff08;ORM#xff09;库。它… 文章目录 安装连接数据库Gorm基本示例自动迁移创建数据行查询数据更新数据删除数据 Gorm Model主键表名列名 时间戳CreatedAtUpdatedAtDeletedAt GORMGo Object Relational Mapper是一个在Go语言中使用的对象关系映射ORM库。它允许开发者通过Go语言的结构体来定义数据模型而不必直接编写SQL语句从而简化了与数据库的交互和操作。 安装 go get -u github.com/jinzhu/gorm连接数据库 gorm中有连接多种数据库的方式这里以Mysql为例 package mainimport (fmtgithub.com/jinzhu/gorm_ github.com/jinzhu/gorm/dialects/mysql )func main() {// 连接mysql数据库db, err : gorm.Open(mysql, root:123456(127.0.0.1:3306)/users?charsetutf8mb4parseTimeTruelocLocal)if err ! nil {panic(err)}defer db.Close() }Gorm基本示例 首先创建一个struct用来表示数据库中的数据。 type UserInfo struct {ID uintName stringGender stringHobby string }自动迁移 gorm框架自带的自动迁移功能使得开发者能够根据Go语言中定义的结构体自动创建或更新数据库表结构而不必手动编写SQL语句。 根据上面定义的struct只需要用AutoMigrate方法就能实现会把结构体和数据表进行对应。 db.AutoMigrate(UserInfo{})执行代码后发现数据库users中多出来一个user_infos的表。 创建数据行 u1 : UserInfo{ID: 1, Name: xay, Gender: 男, Hobby: swim} db.Create(u1)运行结果如下图所示。 查询数据 var u UserInfo db.First(u) fmt.Printf(u:%v, u)// 运行结果u:{1 xay 男 swim}更新数据 db.Model(u).Update(Hobby, 双色球)// 运行结果u:{1 xay 男 双色球}删除数据 db.Delete(u)Gorm Model GORM内置了一个gorm.Model结构体。gorm.Model是一个包含了ID, CreatedAt, UpdatedAt, DeletedAt四个字段的结构体用继承的方式来使用。也可以自己定义字段。 type User struct {gorm.ModelName stringAge sql.NullInt64Birthday *time.TimeEmail string gorm:type:varchar(100);unique_indexRole string gorm:size:255MemberNumber *string gorm:unique;not null // 设置会员号member number唯一并且不为空Num int gorm:AUTO_INCREMENT // 设置 num 为自增类型Address string gorm:index:addr // 给address字段创建名为addr的索引IgnoreMe int gorm:- // 忽略本字段 }主键 该Model会默认使用字段中的id来作为主键自己定义的格式如下 // 使用AnimalID作为主键 type Animal struct {AnimalID int64 gorm:primary_keyName stringAge int64 }表名 在gorm.Model创建表时会自动将表名定义为struct名的复数如果遇到用驼峰法命名的struct名会用下划线连接单词。自己定义的格式如下 func (User) TableName() string {return profiles }func (u User) TableName() string {if u.Roleadmin {return admin_users} else {return users} }用如下代码禁用复数命名 db.SingularTable(true)也可以使用Table()方法来创建表 db.Table(xiaowang).CreateTable(User{})GORM还支持更改默认表名称规则如果是指定的表名则不支持修改 gorm.DefaultTableNameHandler func (db *gorm.DB, defaultTableName string) string {return prefix_ defaultTableName; }列名 列名由字段名称进行下划线分割来生成如上面的MemberNumber在数据库中变成member_number 如果想要指定列名可以用struct tag来实现 type Animal struct {AnimalId int64 gorm:column:beast_id // set column name to beast_idBirthday time.Time gorm:column:day_of_the_beast // set column name to day_of_the_beastAge int64 gorm:column:age_of_the_beast // set column name to age_of_the_beast }时间戳 CreatedAt 如果模型有 CreatedAt字段该字段的值将会是初次创建记录的时间。 db.Create(user) // CreatedAt将会是当前时间// 可以使用Update方法来改变CreateAt的值 db.Model(user).Update(CreatedAt, time.Now())UpdatedAt 如果模型有UpdatedAt字段该字段的值将会是每次更新记录的时间。 db.Save(user) // UpdatedAt将会是当前时间db.Model(user).Update(name, jinzhu) // UpdatedAt将会是当前时间DeletedAt 如果模型有DeletedAt字段调用Delete删除该记录时将会设置DeletedAt字段为当前时间而不是直接将记录从数据库中删除。
http://www.lebaoying.cn/news/41212.html

相关文章:

  • 电商网站100排行榜做医院网站公司电话
  • 网站备案 几年中企动力主要是做什么的
  • PHP网站开发项目式教程上海中风险地区
  • 台州外贸网站10套免费ppt模板
  • 昆明网站建设logovi中国最好的编程学校
  • 服装设计网站有哪些软件开发专业能力
  • 北海做网站哪家好wordpress导航栏下拉菜单代码
  • 丰涵网站建设科技vi设计的流程
  • 网站开发怎么谈客户石家庄云图网站建设
  • 网站建设面谈销售话术wordpress 2.7.1下载
  • 常州网上教科院十堰seo推广
  • 大型门户网站建设大概多少钱wordpress 标签设置主页
  • 手机网站价格做网站网页需要多久
  • 网站后台做图片尺寸是多大海口网站建设是什么意思
  • ppt成品免费下载的网站图跃企业网站建设
  • 网站开发如何使用API个人宽带备案网站
  • 西安门户网站开发工商公示网
  • 深圳网站优化推广谷歌竞价推广教程
  • 如何做网站跳转页面wordpress jsp版
  • 手机wap网站建站系统项目协同管理平台
  • 企业网站后端模板红包app开发软件
  • 靖江做网站哪家好wordpress在线网校系统
  • 网站建设确认表傻瓜网站开发工具
  • 广州建立网站的公司网站自建网站推广的最新发展
  • 网站的作用网站建设商城网站
  • 单页销售网站制作制作wordpress博客页面修改
  • 西安网站定制开发做数据库与网站招什么人
  • 能在家做的兼职的网站百度指数搜索
  • 国内知名的网站建设公司重庆工程网站建设
  • 网站开发要求做企业网站设计手机站