sql_entity.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package main
  2. import (
  3. "fmt"
  4. "git.sxidc.com/go-tools/utils/strutils"
  5. "git.sxidc.com/service-supports/ds-sdk/sdk"
  6. "git.sxidc.com/service-supports/ds-sdk/sql"
  7. "git.sxidc.com/service-supports/ds-sdk/sql/sql_tpl"
  8. "time"
  9. )
  10. func main() {
  11. err := sdk.InitInstance(token, address, httpPort, grpcPort, namespace, dataSource)
  12. if err != nil {
  13. panic(err)
  14. }
  15. defer func() {
  16. err := sdk.DestroyInstance()
  17. if err != nil {
  18. panic(err)
  19. }
  20. }()
  21. now := time.Now()
  22. graduatedTime := now.AddDate(3, 0, 0)
  23. classID := strutils.SimpleUUID()
  24. studentIDs := []string{strutils.SimpleUUID(), strutils.SimpleUUID(), strutils.SimpleUUID()}
  25. class := &Class{
  26. IDField: IDField{ID: classID},
  27. Name: "001",
  28. StudentNum: 10,
  29. GraduatedTime: &graduatedTime,
  30. StudentIDs: studentIDs,
  31. }
  32. newClass := &Class{
  33. IDField: IDField{ID: classID},
  34. Name: "",
  35. StudentNum: 30,
  36. GraduatedTime: &graduatedTime,
  37. StudentIDs: studentIDs,
  38. }
  39. classInfo := new(ClassInfo)
  40. classInfos := make([]*ClassInfo, 0)
  41. err = sql.InsertEntity(sdk.GetInstance(), tableName, class)
  42. if err != nil {
  43. panic(err)
  44. }
  45. result, err := sql.QueryOne(sdk.GetInstance(), &sql_tpl.QueryOneExecuteParams{
  46. TableName: tableName,
  47. Conditions: sql_tpl.NewConditions().Equal("id", classID),
  48. })
  49. if err != nil {
  50. panic(err)
  51. }
  52. err = sql.ParseSqlResult(result, classInfo)
  53. if err != nil {
  54. panic(err)
  55. }
  56. fmt.Println("Class Info:")
  57. fmt.Printf("%#+v\n", classInfo)
  58. err = sql.ParseSqlResult(result, &classInfos)
  59. if err != nil {
  60. panic(err)
  61. }
  62. fmt.Println("Class Info:")
  63. fmt.Printf("%#+v\n", classInfos[0])
  64. err = sql.UpdateEntity(sdk.GetInstance(), tableName, newClass)
  65. if err != nil {
  66. panic(err)
  67. }
  68. result, err = sql.QueryOne(sdk.GetInstance(), &sql_tpl.QueryOneExecuteParams{
  69. TableName: tableName,
  70. Conditions: sql_tpl.NewConditions().Equal("id", classID),
  71. })
  72. if err != nil {
  73. panic(err)
  74. }
  75. err = sql.ParseSqlResult(result, classInfo)
  76. if err != nil {
  77. panic(err)
  78. }
  79. fmt.Println("Class Info:")
  80. fmt.Printf("%#+v\n", classInfo)
  81. err = sql.DeleteEntity(sdk.GetInstance(), tableName, &Class{IDField: IDField{ID: classID}})
  82. if err != nil {
  83. panic(err)
  84. }
  85. _, err = sql.QueryOne(sdk.GetInstance(), &sql_tpl.QueryOneExecuteParams{
  86. TableName: tableName,
  87. Conditions: sql_tpl.NewConditions().Equal("id", classID),
  88. })
  89. if err != nil && !sdk.IsErrorDBRecordNotExist(err) {
  90. panic(err)
  91. }
  92. }