mysql_test.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package util
  2. import (
  3. "database/sql"
  4. "fmt"
  5. "log"
  6. "testing"
  7. "time"
  8. _ "github.com/go-sql-driver/mysql"
  9. "xiaoniaokuaiyan.com/xiaoniao/entity"
  10. )
  11. func TestGenerateDBId(t *testing.T) {
  12. expectSize := 32
  13. var id = GenerateDBID()
  14. fmt.Println(id)
  15. if len(id) != expectSize {
  16. t.Fatal("wrong size")
  17. }
  18. }
  19. func TestGenerateUpdateSqlFromStruct(t *testing.T) {
  20. orderItem := entity.Order{
  21. Id: "BJ16042950001",
  22. Name: "liuguiqi",
  23. Age: 27,
  24. Address: "望京南",
  25. DetailAddress: "北京嘉美中心写字楼1211",
  26. VisitDate: "2016-05-06",
  27. VisitTimeRange: "10:30-11:30",
  28. Source: "web",
  29. Payment: 300.0,
  30. CustomId: 1,
  31. Mobile: "18310412106",
  32. CreatedAt: time.Now().Format("2006-01-02 15:04:05"),
  33. }
  34. strSql, m := GenerateUpdateSqlFromStruct("t_order", &orderItem, " where id=1 ")
  35. fmt.Println(strSql)
  36. fmt.Println(m)
  37. }
  38. func TestGenerateInsertSqlFromStruct(t *testing.T) {
  39. orderItem := entity.Order{
  40. Id: "BJ16042950001",
  41. Name: "liuguiqi",
  42. Age: 27,
  43. Address: "望京南",
  44. DetailAddress: "北京嘉美中心写字楼1211",
  45. VisitDate: "2016-05-06",
  46. VisitTimeRange: "10:30-11:30",
  47. Source: "web",
  48. Payment: 300.0,
  49. CustomId: 1,
  50. Mobile: "18310412106",
  51. CreatedAt: time.Now().Format("2006-01-02 15:04:05"),
  52. }
  53. strSql, m := GenerateInsertSqlFromStruct("t_order", &orderItem)
  54. fmt.Println(strSql)
  55. fmt.Println(m)
  56. }
  57. func BenchmarkScanStruct(b *testing.B) {
  58. b.ReportAllocs()
  59. db, err := sql.Open("mysql", "xiaoniao_n:xn654^%$@(123.56.205.58:3306)/xn_db")
  60. if err != nil {
  61. log.Fatal(err)
  62. }
  63. for i := 0; i < 1000; i++ {
  64. rows, err := db.Query("select * from t_order order by created_at desc limit 5")
  65. if err != nil {
  66. log.Fatal(err)
  67. }
  68. olist := []entity.Order{}
  69. err = ScanStruct(rows, &olist)
  70. if err != nil {
  71. log.Fatal(err)
  72. }
  73. }
  74. }