예제 #1
0
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)
}
예제 #2
0
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")
}