一、前言
本文章主要为《Database/sql 及 GORM 相关解读》的笔记。
二、理解database/sql
基本用法
import driver 实现
使用driver+DSN初始化DB连接
db, err :=sql.Open("mysql, "user:password@tcp(127.0.0.1:3306)/hello")
执行一条SQL,通过rows取回返回的数据
处理完毕,需要释放链接
rows, err :=db.Query("select id, name from users where id = ?", 1)
if err != nil {
//xxx
}
defer rows.Close()
数据、错误处理
var users []User
for rows.Next() {
var user User
err := rows.Scan(&user.ID, &user.Name)
if err != nil {
//...
}
users = append(users, user)
}
设计原理
应用程序 <-> 操作接口 <-> 数据库
三、GORM基础使用
“设计简洁、功能强大、自由扩展的全功能ORM”
基本用法
import (
"gorm.io/gorm"
"gorm.io/driver/mysql"
)
func main(){
db, err := gorm.Open(
mysql.Open("user:password@tcp(127.0.0.1:3306)/hello")
)
var users []User
err = db.Select("id", "name").Find(&users, 1).Error
}