【GORM】配置与连接数据库

  • 1243 字
  1. 1. 配置与连接
    1. 1.1. 下载与配置
      1. 1.1.1. MySQL
      2. 1.1.2. PostgreSQL
    2. 1.2. 实例

配置与连接

下载与配置

安装:

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
36
37
38
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)
}



赞助喵
非常感谢您的喜欢!
赞助喵