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

怎么做一键添加信任网站网上商城什么意思

怎么做一键添加信任网站,网上商城什么意思,商务网站建设有哪几个步骤,做网站容易还是app容易一、什么是gorm GORM 是一个用于 Go 语言的 ORM(对象关系映射)库,它提供了一种简单而强大的方式来与数据库进行交互。GORM 支持多种数据库,包括 MySQL、PostgreSQL、SQLite、SQL Server 等,并且提供了丰富的功能&…

一、什么是gorm

GORM 是一个用于 Go 语言的 ORM(对象关系映射)库,它提供了一种简单而强大的方式来与数据库进行交互。GORM 支持多种数据库,包括 MySQL、PostgreSQL、SQLite、SQL Server 等,并且提供了丰富的功能,如自动迁移、预加载、事务管理等。

二、特性

  • 全功能 ORM
  • 关联 (Has One,Has Many,Belongs To,Many To Many,多态,单表继承)
  • Create,Save,Update,Delete,Find 中钩子方法
  • 支持 PreloadJoins 的预加载
  • 事务,嵌套事务,Save Point,Rollback To Saved Point
  • Context、预编译模式、DryRun 模式
  • 批量插入,FindInBatches,Find/Create with Map,使用 SQL 表达式、Context Valuer 进行 CRUD
  • SQL 构建器,Upsert,数据库锁,Optimizer/Index/Comment Hint,命名参数,子查询
  • 复合主键,索引,约束
  • Auto Migration
  • 自定义 Logger
  • 灵活的可扩展插件 API:Database Resolver(多数据库,读写分离)、Prometheus…
  • 每个特性都经过了测试的重重考验
  • 开发者友好

三、安装

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

四、集成

func InitMySql() *gorm.DB {// 数据源设置db, err := gorm.Open(mysql.New(mysql.Config{DSN: viper.GetString("db.mysql.dsn"),}),&gorm.Config{NamingStrategy: schema.NamingStrategy{TablePrefix:   "t_", SingularTable: true,},Logger:                                   logger.Default.LogMode(logger.Info), DisableForeignKeyConstraintWhenMigrating: true,                                },)if err != nil {panic(err)}sqlDb, _ := db.DB()sqlDb.SetMaxOpenConns(viper.GetInt("db.mysql.maxOpenConns"))sqlDb.SetMaxIdleConns(viper.GetInt("db.mysql.maxIdleConns"))sqlDb.SetConnMaxLifetime(time.Hour)return db
}

五、CRUD 接口

创建记录

user := User{Name: "Jinzhu", Age: 18, Birthday: time.Now()}result := db.Create(&user) // 通过数据的指针来创建user.ID             // 返回插入数据的主键
result.Error        // 返回 error
result.RowsAffected // 返回插入记录的条数

查询

GORM 提供了 FirstTakeLast 方法,以便从数据库中检索单个对象。当查询数据库时它添加了 LIMIT 1 条件,且没有找到记录时,它会返回 ErrRecordNotFound 错误

// 获取第一条记录(主键升序)
db.First(&user)
// SELECT * FROM users ORDER BY id LIMIT 1;// 获取一条记录,没有指定排序字段
db.Take(&user)
// SELECT * FROM users LIMIT 1;// 获取最后一条记录(主键降序)
db.Last(&user)
// SELECT * FROM users ORDER BY id DESC LIMIT 1;result := db.First(&user)
result.RowsAffected // 返回找到的记录数
result.Error        // returns error or nil// 检查 ErrRecordNotFound 错误
errors.Is(result.Error, gorm.ErrRecordNotFound)

更新

当使用 Update 更新单列时,需要有一些条件,否则将会引起ErrMissingWhereClause 错误。 当使用 Model 方法,并且它有主键值时,主键将会被用于构建条件,例如:

// 根据条件更新
db.Model(&User{}).Where("active = ?", true).Update("name", "hello")
// UPDATE users SET name='hello', updated_at='2013-11-17 21:34:10' WHERE active=true;// User 的 ID 是 `111`
db.Model(&user).Update("name", "hello")
// UPDATE users SET name='hello', updated_at='2013-11-17 21:34:10' WHERE id=111;// 根据条件和 model 的值进行更新
db.Model(&user).Where("active = ?", true).Update("name", "hello")
// UPDATE users SET name='hello', updated_at='2013-11-17 21:34:10' WHERE id=111 AND active=true;

删除

删除一条记录时,删除对象需要指定主键,例如:

// Email 的 ID 是 `10`
db.Delete(&email)
// DELETE from emails where id = 10;// 带额外条件的删除
db.Where("name = ?", "jinzhu").Delete(&email)
// DELETE from emails where id = 10 AND name = "jinzhu";

原生 SQL

db.Exec("DROP TABLE users")
db.Exec("UPDATE orders SET shipped_at = ? WHERE id IN ?", time.Now(), []int64{1, 2, 3})// Exec with SQL Expression
db.Exec("UPDATE users SET money = ? WHERE name = ?", gorm.Expr("money * ? + ?", 10000, 1), "jinzhu")

更多

请参考官网:GORM 指南 | GORM - The fantastic ORM library for Golang, aims to be developer friendly.

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

相关文章:

  • 淮阴区城乡建设管理局网站地方网站域名用全拼
  • 怎么做自己的淘宝网站中山网站制作策划
  • 门户网站收录竞价网站怎么做seo
  • 网店网站建设哪家自适应平台网站模板
  • 南山网站多少钱电商培训机构哪家强
  • 湖州网站做等保费用文山州住房和城乡建设局网站
  • 免费行情软件网站下载安装南通网站制作怎样
  • 新浪网站源代码免费提供网站
  • 离石市网站建设公司买商标价格一览表
  • wordpress用户站内信室内装饰设计效果图
  • 网站建设多少网页设计与制作工作
  • 网站建设的实验的结论wordpress djd site post
  • 中国建设银行甘肃省分行网站现在公司做网站还需要域名吗
  • 百度网页打不开广告优化师没经验怎么面试
  • 亚马逊海外版网站做网站要几个人 要多少钱
  • 电商网站开发 报价注册空壳公司帮人走账
  • 网站搬迁青岛网站快速排名优化
  • wordpress latex公式seo在线优化
  • 短视频网站的动画是怎么做的做期货的的都喜欢去什么网站
  • 网站建设的步骤是什么深圳住房和建设局网站认租申请
  • 哈密市住房和城乡建设局网站谷歌优化的网络公司
  • 网站开发前端学习建站为应用技术
  • 产品设计专业大学排名东莞seo排名外包
  • 宿迁网站推广公司广东省特色专业建设网站
  • 现在手机网站用什么做的遵义网约车平台
  • 做网站工作图怎么建立网站数据库连接
  • 舟山市网站建设wordpress打开wordpress
  • 网站流量 收益wordpress更改主题首页
  • 做性的网站网站建站网站299266co
  • 怀宁县建设局网站龙网网络推广软件