sql_entity.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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. err = sql.InsertEntity(sdk.GetInstance(), tableName, class)
  40. if err != nil {
  41. panic(err)
  42. }
  43. result, err := sql.QueryOne(sdk.GetInstance(), &sql_tpl.QueryOneExecuteParams{
  44. TableName: tableName,
  45. Conditions: sql_tpl.NewConditions().Equal("id", classID),
  46. })
  47. if err != nil {
  48. panic(err)
  49. }
  50. classInfoPtr, err := sql.ParseSqlResult[*Class](result)
  51. if err != nil {
  52. panic(err)
  53. }
  54. fmt.Println("Class Info:")
  55. fmt.Printf("%#+v\n", classInfoPtr)
  56. classInfos, err := sql.ParseSqlResult[[]*Class](result)
  57. if err != nil {
  58. panic(err)
  59. }
  60. fmt.Println("Class Info:")
  61. fmt.Printf("%#+v\n", classInfos[0])
  62. err = sql.UpdateEntity(sdk.GetInstance(), tableName, newClass)
  63. if err != nil {
  64. panic(err)
  65. }
  66. result, err = sql.QueryOne(sdk.GetInstance(), &sql_tpl.QueryOneExecuteParams{
  67. TableName: tableName,
  68. Conditions: sql_tpl.NewConditions().Equal("id", classID),
  69. })
  70. if err != nil {
  71. panic(err)
  72. }
  73. classInfo, err := sql.ParseSqlResult[Class](result)
  74. if err != nil {
  75. panic(err)
  76. }
  77. fmt.Println("Class Info:")
  78. fmt.Printf("%#+v\n", classInfo)
  79. err = sql.DeleteEntity(sdk.GetInstance(), tableName, &Class{IDField: IDField{ID: classID}})
  80. if err != nil {
  81. panic(err)
  82. }
  83. _, err = sql.QueryOne(sdk.GetInstance(), &sql_tpl.QueryOneExecuteParams{
  84. TableName: tableName,
  85. Conditions: sql_tpl.NewConditions().Equal("id", classID),
  86. })
  87. if err != nil && !sdk.IsErrorDBRecordNotExist(err) {
  88. panic(err)
  89. }
  90. }