使用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
广告
将在 10 秒后关闭
bannerAds