惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
D
Docker
GbyAI
GbyAI
Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
G
Google Developers Blog
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
雷峰网
雷峰网
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
小众软件
小众软件
Engineering at Meta
Engineering at Meta
酷 壳 – CoolShell
酷 壳 – CoolShell
I
InfoQ
B
Blog
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
B
Blog RSS Feed
Microsoft Security Blog
Microsoft Security Blog

博客园 - ☆磊☆

Win10 x64 + CUDA 10.0 + cuDNN v7.5 + TensorFlow GPU 1.13 安装指南 工作十一年总结 - ☆磊☆ - 博客园 Anaconda3 指南 Win Linux 双系统安装指南 OBS 录制视频 自己留存 - ☆磊☆ React Starter Kit 中文文档 - ☆磊☆ .NET Framework 系统版本支持表 Hyper-V和其他虚拟机共存 【转】 Docker入门03——Container Docker入门02——Dockerfile详解 Docker入门01——Image 将以前的文章开始慢慢转到这里发表 环境变量 在 Linux 中安装 VMware Tools WordPress中使用Markdown和Syntax Highlighter .gitignore 失效问题解决 Eclipse Aptana GAE Django HelloWorld 示例 TFS 迁移到 Git NLog 2.0.0.2000 使用实例
GORM 中文文档 - ☆磊☆ - 博客园
☆磊☆ · 2017-01-12 · via 博客园 - ☆磊☆

由于篇幅问题,本文只是快速开始部分,下面是完整地址。

中文文档地址:http://gorm.book.jasperxu.com/
中文文档项目地址:https://github.com/jasperxu/gorm-cn-doc

Golang写的,开发人员友好的ORM库。

概述

  • 全功能ORM(几乎)
  • 关联(包含一个,包含多个,属于,多对多,多种包含)
  • Callbacks(创建/保存/更新/删除/查找之前/之后)
  • 预加载(急加载)
  • 事务
  • 复合主键
  • SQL Builder
  • 自动迁移
  • 日志
  • 可扩展,编写基于GORM回调的插件
  • 每个功能都有测试
  • 开发人员友好

安装

go get -u github.com/jinzhu/gorm

升级到V1.0

快速开始

package main

import (
    "github.com/jinzhu/gorm"
    _ "github.com/jinzhu/gorm/dialects/sqlite"
)

type Product struct {
  gorm.Model
  Code string
  Price uint
}

func main() {
  db, err := gorm.Open("sqlite3", "test.db")
  if err != nil {
    panic("连接数据库失败")
  }
  defer db.Close()

  // 自动迁移模式
  db.AutoMigrate(&Product{})

  // 创建
  db.Create(&Product{Code: "L1212", Price: 1000})

  // 读取
  var product Product
  db.First(&product, 1) // 查询id为1的product
  db.First(&product, "code = ?", "L1212") // 查询code为l1212的product

  // 更新 - 更新product的price为2000
  db.Model(&product).Update("Price", 2000)

  // 删除 - 删除product
  db.Delete(&product)
}