package util import ( "database/sql" "fmt" "log" "testing" "time" _ "github.com/go-sql-driver/mysql" "xiaoniaokuaiyan.com/xiaoniao/entity" ) func TestGenerateDBId(t *testing.T) { expectSize := 32 var id = GenerateDBID() fmt.Println(id) if len(id) != expectSize { t.Fatal("wrong size") } } func TestGenerateUpdateSqlFromStruct(t *testing.T) { orderItem := entity.Order{ Id: "BJ16042950001", Name: "liuguiqi", Age: 27, Address: "望京南", DetailAddress: "北京嘉美中心写字楼1211", VisitDate: "2016-05-06", VisitTimeRange: "10:30-11:30", Source: "web", Payment: 300.0, CustomId: 1, Mobile: "18310412106", CreatedAt: time.Now().Format("2006-01-02 15:04:05"), } strSql, m := GenerateUpdateSqlFromStruct("t_order", &orderItem, " where id=1 ") fmt.Println(strSql) fmt.Println(m) } func TestGenerateInsertSqlFromStruct(t *testing.T) { orderItem := entity.Order{ Id: "BJ16042950001", Name: "liuguiqi", Age: 27, Address: "望京南", DetailAddress: "北京嘉美中心写字楼1211", VisitDate: "2016-05-06", VisitTimeRange: "10:30-11:30", Source: "web", Payment: 300.0, CustomId: 1, Mobile: "18310412106", CreatedAt: time.Now().Format("2006-01-02 15:04:05"), } strSql, m := GenerateInsertSqlFromStruct("t_order", &orderItem) fmt.Println(strSql) fmt.Println(m) } func BenchmarkScanStruct(b *testing.B) { b.ReportAllocs() db, err := sql.Open("mysql", "xiaoniao_n:xn654^%$@(123.56.205.58:3306)/xn_db") if err != nil { log.Fatal(err) } for i := 0; i < 1000; i++ { rows, err := db.Query("select * from t_order order by created_at desc limit 5") if err != nil { log.Fatal(err) } olist := []entity.Order{} err = ScanStruct(rows, &olist) if err != nil { log.Fatal(err) } } }