github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/go-xorm/xorm/examples/cache.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  func main() {
    17  	f := "cache.db"
    18  	os.Remove(f)
    19  
    20  	Orm, err := xorm.NewEngine("sqlite3", f)
    21  	if err != nil {
    22  		fmt.Println(err)
    23  		return
    24  	}
    25  	Orm.ShowSQL(true)
    26  	cacher := xorm.NewLRUCacher(xorm.NewMemoryStore(), 1000)
    27  	Orm.SetDefaultCacher(cacher)
    28  
    29  	err = Orm.CreateTables(&User{})
    30  	if err != nil {
    31  		fmt.Println(err)
    32  		return
    33  	}
    34  
    35  	_, err = Orm.Insert(&User{Name: "xlw"})
    36  	if err != nil {
    37  		fmt.Println(err)
    38  		return
    39  	}
    40  
    41  	users := make([]User, 0)
    42  	err = Orm.Find(&users)
    43  	if err != nil {
    44  		fmt.Println(err)
    45  		return
    46  	}
    47  
    48  	fmt.Println("users:", users)
    49  
    50  	users2 := make([]User, 0)
    51  
    52  	err = Orm.Find(&users2)
    53  	if err != nil {
    54  		fmt.Println(err)
    55  		return
    56  	}
    57  
    58  	fmt.Println("users2:", users2)
    59  
    60  	users3 := make([]User, 0)
    61  
    62  	err = Orm.Find(&users3)
    63  	if err != nil {
    64  		fmt.Println(err)
    65  		return
    66  	}
    67  
    68  	fmt.Println("users3:", users3)
    69  
    70  	user4 := new(User)
    71  	has, err := Orm.Id(1).Get(user4)
    72  	if err != nil {
    73  		fmt.Println(err)
    74  		return
    75  	}
    76  
    77  	fmt.Println("user4:", has, user4)
    78  
    79  	user4.Name = "xiaolunwen"
    80  	_, err = Orm.Id(1).Update(user4)
    81  	if err != nil {
    82  		fmt.Println(err)
    83  		return
    84  	}
    85  	fmt.Println("user4:", user4)
    86  
    87  	user5 := new(User)
    88  	has, err = Orm.Id(1).Get(user5)
    89  	if err != nil {
    90  		fmt.Println(err)
    91  		return
    92  	}
    93  	fmt.Println("user5:", has, user5)
    94  
    95  	_, err = Orm.Id(1).Delete(new(User))
    96  	if err != nil {
    97  		fmt.Println(err)
    98  		return
    99  	}
   100  
   101  	for {
   102  		user6 := new(User)
   103  		has, err = Orm.Id(1).Get(user6)
   104  		if err != nil {
   105  			fmt.Println(err)
   106  			return
   107  		}
   108  		fmt.Println("user6:", has, user6)
   109  	}
   110  }