摘要:@[toc] # 1. Unmarshal() 函数 ```go func Unmarshal(data []byte, v interface{}) error ``` 说明: - data: 要解析的字串 - v:接收json字串解析结果的实例,可以是struct、map等等。 # 2. 示例一
阅读全文
摘要:文章目录 1. 语法2. 示例 1. 语法 开启事务 tx := db.Begin() 在事务中执行操作 从这里开始使用 ‘tx’,而不是 ‘db’ tx.Create(...) 回滚事务 tx.Rollback() 提交这个事务 tx.Commit() 2. 示例 func CreateAnima
阅读全文
摘要:文章目录 1. save (更新/创建)2. Update(单列修改)2.1 根据主键修改单列2.2 全部行修改2.3 使用组合条件更新单个属性2.4 使用 map 更新多个属性2.5 使用 struct 更新多个属性 3. Updates3.1 限制修改字段范围3.2 限制不修改字段 4. 不使用
阅读全文
摘要:文章目录 1. Order1.1 简单使用1.2 重新排序2. Limit3. Offset 4. Count5. Pluck6. Scan 1. Order 1.1 简单使用 age字段降序,name字段升序(默认) db.Order("age desc, name").Find(&users)
阅读全文
摘要:文章目录 1. FirstOrInit1.1 FirstOrInit(查询表给Struct赋值)1.2 Attrs (未查到结果给Struct赋值)1.3 Assign(不论是否查到都将参数赋值给 struct) 2. FirstOrCreate2.1 FirstOrCreate2.2 Attrs2
阅读全文
摘要:文章目录 1. 简单示例2. 基本查询2.1 获取第一条记录,按主键排序2.2 获取一条记录,不指定排序2.3 获取最后一条记录,按主键排序2.4 获取所有的记录2.5 通过主键进行查询 (仅适用于主键是数字类型)2.6 查询指定字段 3. where3.1 原生sql3.1.1 获取第一条匹配的记
阅读全文
摘要:文章目录 1. 创建数据2. 在钩子中修改字段值 1. 创建数据 判断主键是否存在 如果存在返回flase,如果不存在返回true db.NewRecord(liuBei) 插入数据 db.Create(&liuBei) 完整示例 package main import ( "fmt" "githu
阅读全文
摘要:1. 连接数据库 package main import ( "fmt" "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" ) func main() { db, err := gorm.Open("mysql",
阅读全文
摘要:int/float/string/interface/[]byte
阅读全文
摘要:文章目录 1. 连接数据库.Connect()2. 查询2.1 单行查询.Get()2.2 多行查询.Select() 3. 插入.Exec()4. 删除.Exec()5. 更新.Exec()6. 事务6.1 开始事务.Begin()6.2 提交事务.Commit()6.3 回滚.Rollback(
阅读全文
摘要:文章目录 1. 查询2. 插入 说明:Prepare() 方法会先将sql语句发送给MySQL服务器,返回一个准备好的状态用于之后的查询和命令。返回值可以同时执行多个查询和命令。 1. 查询 定义查询函数 type userTab struct { Id int `json:"id"` Name s
阅读全文
摘要:文章目录 1. 连接数据库2. 创建表3. 插入数据4. 查询数据4.1 单行查询4.2 多行查询 5. 修改数据6. 删除数据 1. 连接数据库 import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) var DBNam
阅读全文
摘要:语法 func SplitN(s string, sep string, n int) []string n > 0: at most n substrings; the last substring will be the unsplit remainder. n == 0: the result
阅读全文
摘要:文章目录 1. 获取时间1.1 当前时间获取1.2 获取之前/之后的时间 2. 时间戳2.1 获取当前时间戳2.2 时间 转 时间戳2.2 时间戳转时间 3. 时间计算3.1 时间加时间段3.2 计算两时间之差 1. 获取时间 1.1 当前时间获取 package main import ( "fm
阅读全文
摘要:@[toc] # 1. 获取时间 ## 1.1 当前时间获取 ```go package main import ( "fmt" "time" ) func main() { currentTime := time.Now() //当前时间 currentYear := time.Now().Yea
阅读全文
摘要:文章目录 1. go mod1.1 创建项目1.2 mod初始化1.3 重新构建依赖1.4 编译 2. vendor2.1 拷贝依赖2.2 使用vendor目录编译 1. go mod 1.1 创建项目 创建一个目录 root@liubei:/data/goproject/src# mkdir go
阅读全文