配置与连接
下载与配置
安装:
go get -u gorm.io/gorm
go get -u gorm.io/driver/用的数据库
连接数据库:
首先要导入对应的驱动程序
1
2
"gorm.io/driver/用的数据库"
"gorm.io/gorm"MySQL
1
2
3
4
5
6
7
8
9
import (
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
func main() {
dsn := "user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
}PostgreSQL
1
2
3
4
5
6
7
import (
"gorm.io/driver/postgres"
"gorm.io/gorm"
)
dsn := "host=localhost user=gorm password=gorm dbname=gorm port=9920 sslmode=disable TimeZone=Asia/Shanghai"
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package main
import (
"gorm.io/gorm"
"gorm.io/driver/mysql"
"fmt"
)
type User struct {
ID int64
Name string `gorm:"default:'issac'"`
Age int64
}
func main() {
// 连接
db, err := gorm.Open(mysql.Open("root:160721@tcp(localhost)/gorm-test?charset=utf8mb4&parseTime=True"), &gorm.Config{})
if err!=nil {
panic(err)
}
db.AutoMigrate(&User{})
// 创建一条记录 相当于创建一个结构体实例
u := []*User{{Age: 18},{Name: "lilth", Age: 10}}
// 判断主键是否为空
db.Create(&u)
var user User
db.First(&user)
fmt.Println(user)
var auser []User
db.Find(&auser)
fmt.Println(auser)
}