github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/go-xorm/xorm/examples/singlemapping.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  
     7  	"github.com/insionng/yougam/libraries/xorm"
     8  	_ "github.com/mattn/go-sqlite3"
     9  )
    10  
    11  type User struct {
    12  	Id   int64
    13  	Name string
    14  }
    15  
    16  type LoginInfo struct {
    17  	Id     int64
    18  	IP     string
    19  	UserId int64
    20  	// timestamp should be updated by database, so only allow get from db
    21  	TimeStamp string `xorm:"<-"`
    22  	// assume
    23  	Nonuse int `xorm:"->"`
    24  }
    25  
    26  func main() {
    27  	f := "singleMapping.db"
    28  	os.Remove(f)
    29  
    30  	Orm, err := xorm.NewEngine("sqlite3", f)
    31  	if err != nil {
    32  		fmt.Println(err)
    33  		return
    34  	}
    35  	Orm.ShowSQL(true)
    36  	err = Orm.CreateTables(&User{}, &LoginInfo{})
    37  	if err != nil {
    38  		fmt.Println(err)
    39  		return
    40  	}
    41  
    42  	_, err = Orm.Insert(&User{1, "xlw"}, &LoginInfo{1, "127.0.0.1", 1, "", 23})
    43  	if err != nil {
    44  		fmt.Println(err)
    45  		return
    46  	}
    47  
    48  	info := LoginInfo{}
    49  	_, err = Orm.Id(1).Get(&info)
    50  	if err != nil {
    51  		fmt.Println(err)
    52  		return
    53  	}
    54  	fmt.Println(info)
    55  }