溫馨提示×

在GORM中如何編寫自定義的SQL語句

小樊
216
2024-08-28 11:19:07
欄目: 云計算

在GORM中,你可以使用DB.Raw()方法來編寫自定義的SQL語句。這允許你直接執行原生SQL查詢并將結果映射到Go變量或結構體。下面是一個使用GORM和自定義SQL語句的示例:

首先,確保你已經安裝了GORM庫:

go get -u gorm.io/gorm
go get -u gorm.io/driver/sqlite

然后,創建一個簡單的Go程序,使用GORM和自定義SQL語句:

package main

import (
	"fmt"
	"gorm.io/driver/sqlite"
	"gorm.io/gorm"
)

type User struct {
	ID   uint
	Name string
	Age  int
}

func main() {
	// 初始化數據庫連接
	db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{})
	if err != nil {
		panic("failed to connect database")
	}

	// 遷移 schema
	db.AutoMigrate(&User{})

	// 插入一些數據
	db.Create(&User{Name: "John", Age: 25})
	db.Create(&User{Name: "Jane", Age: 30})

	// 使用自定義SQL語句查詢
	var users []User
	db.Raw("SELECT * FROM users WHERE age > ?", 20).Scan(&users)

	// 輸出查詢結果
	for _, user := range users {
		fmt.Printf("User: %v\n", user)
	}
}

在這個示例中,我們首先定義了一個User結構體,然后使用GORM連接到SQLite數據庫并自動遷移表結構。接著,我們插入了一些示例數據。最后,我們使用DB.Raw()方法編寫自定義SQL語句來查詢年齡大于20的用戶,并將結果映射到users切片。

運行此程序,你將看到滿足條件的用戶被打印出來。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女