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

银联支付网站建设html5网站模板

银联支付网站建设,html5网站模板,本网站正在建设中,销售推广文章目录 golang操作数据库ORM#xff1a;GORM 包介绍及实战一、什么是GORM 包二、GORM基本使用官方快速开始demo 一些 GORM 提示和注意事项 参考 golang操作数据库ORM#xff1a;GORM 包介绍及实战 一、什么是GORM 包 官网#xff1a;https://gorm.io/ github#xff1a… 文章目录 golang操作数据库ORMGORM 包介绍及实战一、什么是GORM 包二、GORM基本使用官方快速开始demo 一些 GORM 提示和注意事项 参考 golang操作数据库ORMGORM 包介绍及实战 一、什么是GORM 包 官网https://gorm.io/ githubhttps://github.com/go-gorm/gorm 官方文档https://gorm.io/zh_CN/docs/index.html GORM 是 Go 语言的 ORM 包功能强大调用方便。像腾讯、华为、阿里这样的大厂都在使用 GORM 来构建企业级的应用。 全功能 ORM关联 (拥有一个拥有多个属于多对多多态单表继承)CreateSaveUpdateDeleteFind 中钩子方法支持 Preload、Joins 的预加载事务嵌套事务Save PointRollback To to Saved PointContext、预编译模式、DryRun 模式批量插入FindInBatchesFind/Create with Map使用 SQL 表达式、Context Valuer 进行 CRUDSQL 构建器Upsert锁Optimizer/Index/Comment Hint命名参数子查询复合主键索引约束自动迁移自定义 Logger灵活的可扩展插件 APIDatabase Resolver多数据库读写分离、Prometheus…每个特性都经过了测试的重重考验开发者友好 二、GORM基本使用 官方快速开始demo 官方文档https://gorm.io/docs/ package mainimport (gorm.io/gormgorm.io/driver/sqlite )type Product struct {gorm.ModelCode stringPrice uint }func main() {db, err : gorm.Open(sqlite.Open(test.db), gorm.Config{})if err ! nil {panic(failed to connect database)}// Migrate the schemadb.AutoMigrate(Product{})// Createdb.Create(Product{Code: D42, Price: 100})// Readvar product Productdb.First(product, 1) // find product with integer primary keydb.First(product, code ?, D42) // find product with code D42// Update - update products price to 200db.Model(product).Update(Price, 200)// Update - update multiple fieldsdb.Model(product).Updates(Product{Price: 200, Code: F42}) // non-zero fieldsdb.Model(product).Updates(map[string]interface{}{Price: 200, Code: F42})// Delete - delete productdb.Delete(product, 1) }db.AutoMigrate 意思 表不存在会帮你创建表~ 在 GORM 中db.AutoMigrate(Product{}) 函数只会在表不存在时执行数据库的自动迁移操作。如果指定的表已经存在于数据库中并且与模型定义匹配AutoMigrate 函数将不会对表结构进行任何更改。 连接和关闭数据库。连接数据库时可能需要设置一些参数比如最大连接数、最大空闲连接数、最大连接时长等。插入表记录。可以插入一条记录也可以批量插入记录。更新表记录。可以更新某一个字段也可以更新多个字段。查看表记录。可以查看某一条记录也可以查看符合条件的记录列表。删除表记录。可以删除某一个记录也可以批量删除。删除还支持永久删除和软删除。 使用思路 0 创建一个GORM数据库连接 GORM中你可以使用gorm.Open()方法来打开数据库连接。根据你的数据库类型和连接配置选择合适的数据库驱动。 db, err : gorm.Open(sqlite3, dbPath) if err ! nil {ylog.Errorf(uploadFile, open db failed, err:%v, err)return } defer db.Close()1 定义与数据库表对应的模型结构体 首先定义了一个 GORM 模型ModelsModels 是标准的 Go struct用来代表数据库中的一个表结构。我们可以给 Models 添加 TableName 方法来告诉 GORM 该 Models 映射到数据库中的哪张表。 Models 定义如下 type Product struct {gorm.ModelCode string gorm:column:codePrice uint gorm:column:price }// TableName maps to mysql table name. func (p *Product) TableName() string {return product }如果没有指定表名则 GORM 使用结构体名的蛇形复数作为表名。例如结构体名为 DockerInstance 则表名为 dockerInstances 。 解析命令行参数建立数据库链接 在之后的代码中使用 Pflag 来解析命令行的参数通过命令行参数指定数据库的地址、用户名、密码和数据库名。之后使用这些参数生成建立 MySQL 连接需要的配置文件并调用 gorm.Open 建立数据库连接 完整测试验证代码 package mainimport (fmtloggithub.com/spf13/pflaggorm.io/driver/mysqlgorm.io/gorm )type Product struct {gorm.ModelCode string gorm:column:codePrice uint gorm:column:price }// TableName maps to mysql table name. func (p *Product) TableName() string {return product }var (host pflag.StringP(host, H, 127.0.0.1:3306, MySQL service host address)username pflag.StringP(username, u, root, Username for access to mysql service)password pflag.StringP(password, p, root, Password for access to mysql, should be used pair with password)database pflag.StringP(database, d, test, Database name to use)help pflag.BoolP(help, h, false, Print this help message) )func main() {// Parse command line flagspflag.CommandLine.SortFlags falsepflag.Usage func() {pflag.PrintDefaults()}pflag.Parse()if *help {pflag.Usage()return}dns : fmt.Sprintf(%s:%stcp(%s)/%s?charsetutf8parseTime%tloc%s,*username,*password,*host,*database,true,Local)db, err : gorm.Open(mysql.Open(dns), gorm.Config{})if err ! nil {panic(failed to connect database)}// 不建议在正式的代码中自动迁移表结构,生产环境注意注掉本行// 1. Auto migration for given modelsdb.AutoMigrate(Product{})// 2. Insert the value into databaseif err : db.Create(Product{Code: D42, Price: 100}).Error; err ! nil {log.Fatalf(Create error: %v, err)}PrintProducts(db)// 3. Find first record that match given conditionsproduct : Product{}if err : db.Where(code ?, D42).First(product).Error; err ! nil {log.Fatalf(Get product error: %v, err)}// 4. Update value in database, if the value doesnt have primary key, will insert itproduct.Price 200if err : db.Save(product).Error; err ! nil {log.Fatalf(Update product error: %v, err)}PrintProducts(db)// 5. Delete value match given conditionsif err : db.Where(code ?, D42).Delete(Product{}).Error; err ! nil {log.Fatalf(Delete product error: %v, err)}PrintProducts(db) }// List products func PrintProducts(db *gorm.DB) {products : make([]*Product, 0)var count int64d : db.Where(code like ?, %D%).Offset(0).Limit(2).Order(id desc).Find(products).Offset(-1).Limit(-1).Count(count)if d.Error ! nil {log.Fatalf(List products error: %v, d.Error)}log.Printf(totalcount: %d, count)for _, product : range products {log.Printf(\tcode: %s, price: %d\n, product.Code, product.Price)} }一些 GORM 提示和注意事项 一些 GORM 提示和注意事项 参考URL: https://dev.to/daniel1in/some-gorm-tips-and-notes-3lm2 参考 官方文档https://gorm.io/zh_CN/docs/index.html 30 | ORMCURD 神器 GORM 包介绍及实战 https://time.geekbang.org/column/article/403351
http://www.pierceye.com/news/257045/

相关文章:

  • 网站建设丨金手指15phpcms建设网站
  • 怎么网上推广自己的产品郑州seo优化外包顾问阿亮
  • 灵台门户网站建设网站开发费用会计分录
  • wordpress替换公共js北京seo推广服务
  • 公司付的网站费怎么做分录黑色网站配色
  • 体育门户网站源码峰峰做网站
  • 山西网站建设多少钱电商网站建设需要
  • 海西电子商务网站建设wordpress 主题宽度
  • 网站建设首选公司wordpress需要mysql
  • 织梦 旅游网站模板深圳公司招牌制作
  • PHP网站开发如何建立vipwordpress页面伪静态
  • 主题公园旅游景区网站建设网站后台图片模板
  • 慈溪网站建设慈溪WordPress点击文章显示404
  • 网站建设与seo网站开发项目总结范文
  • 做竞彩网站代理犯法么建站公司 网站
  • 浙江建设证书查询seo服务公司深圳
  • 长沙协会网站设计专业服务医疗信息化软件公司排名
  • 北京网站制作一般多少钱黑色网站欣赏
  • 广州建设工程造价管理站wordpress获取文章title
  • 免费购物网站源码网站开发的论文引言
  • 商城网站开发需要哪些人员本机建的网站打开却很慢
  • 网站建设哪专业学会python做网站
  • vs怎么添加图片做网站地方门户网站管理系统
  • 三亚做网站的公司科技网站推荐
  • 电商网站运维怎么做自己做网站创业
  • seo有哪些网站集团公司网站 案例
  • 传媒大学附近网站建设公司天津市工程建设公众信息网官网
  • 关于网站建设与维护的参考文献家装设计费用多少钱一平方
  • 网站建设与管理专业概述网站建设报价费用是多少
  • asp医院网站源码破解版北京企业做网站报价