Go使用GORM ORM套件做查詢資料是否存在的方式如下。。
範例環境:
- Go 1.19
- GORM 2.0 (gorm.io/gorm v1.24.2)
- PostgreSQL 14
事前要求
參考「Golang GORM PostgreSQL基本設定」設定資料庫及安裝GORM套件。
參考「Golang GORM 條件查詢」了解GORM的where查詢。
範例
利用gorm.DB.Select
輸入count(*) > 0
並以bool pointer變數去接收結果。
main.go
package main
import (
"fmt"
"time"
"gorm.io/driver/postgres"
"gorm.io/gorm"
"gorm.io/gorm/schema"
)
type Employee struct {
ID int64 // primary key, column name is `id`
Name string // column name is `name`
Age int // column name is `age`
CreatedAt time.Time // column name is `created_at`
}
const (...)
func getGormDB() *gorm.DB {...}
func main() {
db := getGormDB()
var exists bool
err := db.Model(&Employee{}).
Select("count(*) > 0").
Where("age > ? ", 30).
Take(&exists).Error
if err != nil {
return exists, err
}
fmt.Println(exists) // true
}
沒有留言:
張貼留言