1. 项目地址:
    https://github.com/go-gorm/gorm

  2. 使用:

     package main
     import (
         "fmt"
         "gorm.io/driver/clickhouse"
         "gorm.io/gorm"
     )
     type User struct {
         ID   uint64
         Name string
     }
     func (User) TableName() string {
         return "user"
     }
     func main() {
         dsn := "tcp://10.0.0.11:9000?database=default&username=ck&password=123456&read_timeout=10&write_timeout=20"
         db, err := gorm.Open(clickhouse.Open(dsn), &gorm.Config{})
         if err != nil {
             fmt.Println(err)
             return
         }
         // 创建表
         db.AutoMigrate(&User{})
         db.Set("gorm:table_options", "ENGINE=Distributed(cluster, default, user)").AutoMigrate(&User{})
         // 增
         db.Create(&User{ID: 2, Name: "b"})
         // 删
         db.Where("id = ?", 2).Delete(&User{})
         // 改
         db.Model(&User{}).Where("id = ?", 5).Updates(User{
             Name: "B",
         })
         // 查
         rows, err := db.Model(&User{}).Select("id", "name").Rows()
         defer rows.Close()
         for rows.Next() {
             var user User
             db.ScanRows(rows, &user)
             fmt.Println("user: ", user)
         }
     }
文档更新时间: 2024-03-24 15:25   作者:lee