select *from tokens where product_id = ''and owner_id = '' and status not in ('Miniting','Recycled') and contract_id =306,使用gorm表示以上sql
时间: 2024-01-08 22:04:50 浏览: 77
36_1_Hashing_and_JSON_Web_Tokens
使用GORM表示以上SQL语句可以通过GORM的链式调用来实现。下面是一个示例代码:
```go
import (
"fmt"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
type Token struct {
ID int
ProductID string
OwnerID string
Status string
ContractID int
}
func main() {
dsn := "user:password@tcp(127.0.0.1:3306)/database?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
fmt.Println("Failed to connect to database:", err)
return
}
var tokens []Token
db.Where("product_id = ? AND owner_id = ? AND status NOT IN (?, ?) AND contract_id = ?",
"", "", "Miniting", "Recycled", 306).Find(&tokens)
fmt.Println("Tokens:", tokens)
}
```
在示例代码中,我们首先创建了一个`Token`结构体,用于映射数据库中的`tokens`表的行数据。然后,使用`gorm.Open`方法连接到MySQL数据库。
接下来,使用`db.Where`方法来构建查询条件,其中每个条件都对应SQL语句中的一个部分。我们使用`?`占位符来表示参数,然后在第二个参数中传递实际的参数值。
最后,使用`Find`方法执行查询,并将结果存储在`tokens`切片中。你可以根据实际情况修改查询条件和结构体定义来适应你的数据表结构。
阅读全文