sql_entity.go 2.2 KB

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