使用 ORM

主要是方便我們在不同資料庫時有統一的操作模式,以及預防一些安全性問題。

xorm

以下我們已 SQLite 3 為範例

記得要安裝對應的資料庫 driver

go get github.com/go-xorm/xorm
go get github.com/mattn/go-sqlite3

建立 Table

package main

import (
	"fmt"
	"time"

	"github.com/go-xorm/xorm"
	_ "github.com/mattn/go-sqlite3"
)

// User describes a user
type User struct {
	Id      int64
	Name    string
	Created time.Time `xorm:"created"`
	Updated time.Time `xorm:"updated"`
}

func main() {
	f := "conversion.db"

	orm, err := xorm.NewEngine("sqlite3", f)
	if err != nil {
		fmt.Println(err)
		return
	}
	
	 err = orm.CreateTables(&User{})
	 if err != nil {
	 	fmt.Println(err)
	 	return
	 }
}

新增

	_, err = orm.Insert(&User{Id: 1, Name: "xlw"})
	if err != nil {
		fmt.Println(err)
		return
	}

查詢

	users := make([]User, 0)
	err = orm.Find(&users)
	if err != nil {
		fmt.Println(err)
		return
	}

Last updated