func init() { setting, err := config.ReadDefault("config/server.cfg") handlerErr(err) dbHost, err := setting.String("mysql", "host") handlerErr(err) dbPort, err := setting.String("mysql", "port") handlerErr(err) dbUsername, err := setting.String("mysql", "username") handlerErr(err) dbPassword, err := setting.String("mysql", "password") handlerErr(err) dbSchema, err := setting.String("mysql", "schema") handlerErr(err) xmlPathsStr, err := setting.String("osm", "xmlpaths") xmlPaths := strings.Split(xmlPathsStr, ",") url := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8", dbUsername, dbPassword, dbHost, dbPort, dbSchema) Osm, err = osm.NewOsm("mysql", url, xmlPaths) if err != nil { fmt.Println(err) } HomeWebPort, err = setting.String("home-web", "port") handlerErr(err) AdminWebPort, err = setting.String("admin-web", "port") handlerErr(err) RedisHost, err = setting.String("redis", "host") handlerErr(err) RedisPort, err = setting.String("redis", "port") handlerErr(err) appEnv, err := setting.String("app", "env") handlerErr(err) martini.Env = appEnv fmt.Println("home port : ", HomeWebPort) fmt.Println("admin port : ", AdminWebPort) fmt.Println("database info : ", dbHost, dbPort, dbUsername, dbPassword, dbSchema) fmt.Println("redis info : ", RedisHost, RedisPort) }
func main() { osm, err := osm.NewOsm("mysql", "root:root@/51jczj?charset=utf8", []string{"test.xml"}) if err != nil { fmt.Println(err.Error()) } start := time.Now().Nanosecond() / 1000000 // user := User{Email: "*****@*****.**", Id: 17} // /*************/ // fmt.Println("structs") // var users []User // osm.Query("selectUsers", user)(&users) // for _, u := range users { // fmt.Println(u.Id, u.Email) // } // /*************/ // fmt.Println("\nstruct") // u := User{} // osm.Query("selectUser", user)(&u) // fmt.Println(u.Id, u.Email) // /***************/ // fmt.Println("\nmaps") // var userMaps []map[string]osm.Data // osm.Query("selectUserMaps", user)(&userMaps) // for _, uMap := range userMaps { // fmt.Println(uMap["Id"].Int64(), uMap["Email"].String()) // } // /***************/ // fmt.Println("\nmap") // var userMap map[string]osm.Data // osm.Query("selectUserMap", user)(&userMap) // fmt.Println(userMap["Id"].Int64(), userMap["Email"].String()) // /***************/ // fmt.Println("\narrays") // var userArrays [][]osm.Data // osm.Query("selectUserArrays", "*****@*****.**")(&userArrays) // for _, uArray := range userArrays { // if uArray != nil && len(uArray) >= 2 { // fmt.Println(uArray[0].Int64(), uArray[1].String()) // } // } // /***************/ // fmt.Println("\narray") // var userArray []osm.Data // osm.Query("selectUserArray", user)(&userArray) // if userArray != nil && len(userArray) >= 2 { // fmt.Println(userArray[0].Int64(), userArray[1].String()) // } // /***************/ // fmt.Println("\nvalue") // var id int64 // var email string // osm.Query("selectUserValue", user)(&id, &email) // fmt.Println(id, email) // /***************/ // fmt.Println("\nkvs") // var idEmailMap map[int64]string // osm.Query("selectUserKvs", user)(&idEmailMap) // for k, v := range idEmailMap { // fmt.Println(k, v) // } // /*****************/ // fmt.Println("\ninsert") // insertUser := User{ // // Id: 2, // Email: "*****@*****.**", // Mobile: "13113113113", // Nickname: "haha", // Birth: time.Now(), // CreateTime: time.Now(), // } // fmt.Println(osm.Insert("insertUser", insertUser)) // /*****************/ // fmt.Println("\nupdate") // updateUser := User{ // Id: 4, // Email: "*****@*****.**", // Birth: time.Now(), // CreateTime: time.Now(), // } // fmt.Println(osm.Update("updateUser", updateUser)) // /*****************/ // fmt.Println("\ndelete") // deleteUser := User{Id: 3} // fmt.Println(osm.Delete("deleteUser", deleteUser)) tx, err := osm.Begin() /*****************/ fmt.Println("\ninsert") txInsertUser := User{ // Id: 2, Email: "*****@*****.**", Mobile: "13113113113", Nickname: "haha", Birth: time.Now(), CreateTime: time.Now(), } fmt.Println(tx.Insert("insertUser", txInsertUser)) tx.Commit() fmt.Println(time.Now().Nanosecond()/1000000-start, "ms") }