singlemapping.go 860 B

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