使用gorm在MariaDB中读取数据
程序
文件夹结构
$ tree -a
.
├── .env
├── config_mariadb.go
├── go.mod
├── go.sum
└── gorm_read.go
// ----------------------------------------------------------------
// gorm_read.go
//
// Feb/26/2023
// ----------------------------------------------------------------
package main
import (
"fmt"
"os"
"gorm.io/gorm"
"gorm.io/driver/mysql"
)
type City struct {
Id string
Name string
Population int
Date_mod string
}
// ----------------------------------------------------------------
func main() {
fmt.Fprintln (os.Stderr,"*** 開始 ***")
host,user,password,data_base := config_mariadb_proc()
dsn := user + ":" + password + "@tcp(" + host + ":3306)/" + data_base + "?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic(err)
}
cities := []City{}
db.Find(&cities)
llx := len(cities)
fmt.Println(llx)
for it := 0; it < llx; it++{
unit_aa := cities[it]
fmt.Printf("%s\t",unit_aa.Id)
fmt.Printf("%s\t",unit_aa.Name)
fmt.Printf("%d\t",unit_aa.Population)
fmt.Printf("%s\n",unit_aa.Date_mod)
}
fmt.Fprintln (os.Stderr,"*** 終了 ***")
}
// ----------------------------------------------------------------
.env
config_mariadb.go
点击这里
使用 Go 的 gorm 在 MariaDB 上显示版本
准备执行
go mod init read
go mod tidy
执行
go run gorm_read.go config_mariadb.go
MariaDB 是一个开源的关系型数据库管理系统,它是 MySQL 的一个分支,旨在提供更高的性能和更多的功能。
表格的定义如下。
mysql> show columns from city.cities;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| id | varchar(10) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| population | int | YES | | NULL | |
| date_mod | date | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
确认版本
$ go version
go version go1.20.1 linux/amd64