以下是一个简单的 Xorm CURD 示例,包括定义结构体、建立连接、插入数据、查询数据、更新数据和删除数据:
package main
import (
"fmt"
"log"
"time"
"github.com/go-xorm/xorm"
_ "github.com/mattn/go-sqlite3"
)
type User struct {
Id int64
Name string
Age int
CreatedAt time.Time `xorm:"created"`
UpdatedAt time.Time `xorm:"updated"`
}
func main() {
engine, err := xorm.NewEngine("sqlite3", "test.db")
if err != nil {
log.Fatalf("Failed to create engine: %v\n", err)
}
if err := engine.Sync2(new(User)); err != nil {
log.Fatalf("Failed to sync database: %v\n", err)
}
user := &User{Name: "Tom", Age: 23}
if _, err := engine.Insert(user); err != nil {
log.Fatalf("Failed to insert data: %v\n", err)
}
// Query data
var users []User
if err := engine.Find(&users); err != nil {
log.Fatalf("Failed to query data: %v\n", err)
}
fmt.Println(users)
user.Age = 25
if _, err := engine.Update(user); err != nil {
log.Fatalf("Failed to update data: %v\n", err)
}
if _, err := engine.Delete(user); err != nil {
log.Fatalf("Failed to delete data: %v\n", err)
}
}
注:上述代码通过 SQLite3 数据库驱动连接数据库,请确保已经安装该驱动库。