Browse Source

修改README

yjp 1 year ago
parent
commit
2b138af5a7
5 changed files with 138 additions and 132 deletions
  1. 23 23
      README.md
  2. 49 45
      sql/sql.go
  3. 8 8
      sql/sql_mapping.go
  4. 2 0
      sql/sql_tpl/sql_tpl.go
  5. 56 56
      test/sdk_test.go

+ 23 - 23
README.md

@@ -275,7 +275,7 @@ ExecuteSql则执行一个SQL资源(提前在数据服务中创建),也可以
 ### sql包说明
 
 ```go
-type SqlExecutor interface {
+type Executor interface {
 	ExecuteRawSql(sql string, executeParams map[string]any) ([]map[string]any, error)
 	ExecuteSql(name string, executeParams map[string]any) ([]map[string]any, error)
 }
@@ -284,7 +284,7 @@ type SqlExecutor interface {
 SQL执行器接口定义,在sdk中,SDK和事务都实现了该接口
 
 ```go
-func InsertEntity[T any](executor SqlExecutor, tableName string, e T) error
+func InsertEntity[T any](executor Executor, tableName string, e T) error
 ```
 
 通过实体插入数据
@@ -300,7 +300,7 @@ func InsertEntity[T any](executor SqlExecutor, tableName string, e T) error
 是否出现错误
 
 ```go
-func DeleteEntity[T any](executor SqlExecutor, tableName string, e T) error
+func DeleteEntity[T any](executor Executor, tableName string, e T) error
 ```
 
 通过实体删除数据
@@ -316,7 +316,7 @@ func DeleteEntity[T any](executor SqlExecutor, tableName string, e T) error
 是否出现错误
 
 ```go
-func UpdateEntity[T any](executor SqlExecutor, tableName string, e T) error
+func UpdateEntity[T any](executor Executor, tableName string, e T) error
 ```
 
 通过实体更新数据
@@ -332,7 +332,7 @@ func UpdateEntity[T any](executor SqlExecutor, tableName string, e T) error
 是否出现错误
 
 ```go
-func Insert(executor SqlExecutor, executeParams *sql_tpl.InsertExecuteParams) error
+func Insert(executor Executor, executeParams *sql_tpl.InsertExecuteParams) error
 ```
 
 通过简化的INSERT语句插入数据,简化的INSERT语句:
@@ -358,14 +358,14 @@ type InsertExecuteParams struct {
 }
 ```
 
-TableRows可以通过rat_sql_tpl中的NewTableRows()函数创建,其中Add方法可以用来添加列
+TableRows可以通过sql_tpl中的NewTableRows()函数创建,其中Add方法可以用来添加列
 
 返回值:
 
 是否出现错误
 
 ```go
-func Delete(executor SqlExecutor, executeParams *sql_tpl.DeleteExecuteParams) error
+func Delete(executor Executor, executeParams *sql_tpl.DeleteExecuteParams) error
 ```
 
 通过简化的DELETE语句删除数据,简化的DELETE语句:
@@ -391,14 +391,14 @@ type DeleteExecuteParams struct {
 }
 ```
 
-Conditions可以通过rat_sql_tpl中的NewConditions()函数创建,其中有各种条件可供使用,如Equal,Like等
+Conditions可以通过sql_tpl中的NewConditions()函数创建,其中有各种条件可供使用,如Equal,Like等
 
 返回值:
 
 是否出现错误
 
 ```go
-func Update(executor SqlExecutor, executeParams *sql_tpl.UpdateExecuteParams) error
+func Update(executor Executor, executeParams *sql_tpl.UpdateExecuteParams) error
 ```
 
 通过简化的UPDATE语句更新数据,简化的DELETE语句:
@@ -427,16 +427,16 @@ type UpdateExecuteParams struct {
 }
 ```
 
-TableRows可以通过rat_sql_tpl中的NewTableRows()函数创建,其中Add方法可以用来添加列
+TableRows可以通过sql_tpl中的NewTableRows()函数创建,其中Add方法可以用来添加列
 
-Conditions可以通过rat_sql_tpl中的NewConditions()函数创建,其中有各种条件可供使用,如Equal,Like等
+Conditions可以通过sql_tpl中的NewConditions()函数创建,其中有各种条件可供使用,如Equal,Like等
 
 返回值:
 
 是否出现错误
 
 ```go
-func Query(executor SqlExecutor, executeParams *sql_tpl.QueryExecuteParams) ([]map[string]any, int64, error)
+func Query(executor Executor, executeParams *sql_tpl.QueryExecuteParams) ([]map[string]any, int64, error)
 ```
 
 通过简化的SELETE语句查询数据,简化的SELETE语句:
@@ -469,7 +469,7 @@ type QueryExecuteParams struct {
 }
 ```
 
-Conditions可以通过rat_sql_tpl中的NewConditions()函数创建,其中有各种条件可供使用,如Equal,Like等
+Conditions可以通过sql_tpl中的NewConditions()函数创建,其中有各种条件可供使用,如Equal,Like等
 
 返回值:
 
@@ -478,7 +478,7 @@ Conditions可以通过rat_sql_tpl中的NewConditions()函数创建,其中有
 3. 是否出现错误
 
 ```go
-func QueryOne(executor SqlExecutor, executeParams *sql_tpl.QueryOneExecuteParams) (map[string]any, error)
+func QueryOne(executor Executor, executeParams *sql_tpl.QueryOneExecuteParams) (map[string]any, error)
 ```
 
 通过简化的SELETE语句执行单查询
@@ -496,7 +496,7 @@ type QueryOneExecuteParams struct {
 }
 ```
 
-Conditions可以通过rat_sql_tpl中的NewConditions()函数创建,其中有各种条件可供使用,如Equal,Like等
+Conditions可以通过sql_tpl中的NewConditions()函数创建,其中有各种条件可供使用,如Equal,Like等
 
 返回值:
 
@@ -504,7 +504,7 @@ Conditions可以通过rat_sql_tpl中的NewConditions()函数创建,其中有
 2. 是否出现错误
 
 ```go
-func Count(executor SqlExecutor, executeParams *sql_tpl.CountExecuteParams) (int64, error)
+func Count(executor Executor, executeParams *sql_tpl.CountExecuteParams) (int64, error)
 ```
 
 通过简化的COUNT语句执行计数,简化的COUNT语句
@@ -532,7 +532,7 @@ type CountExecuteParams struct {
 }
 ```
 
-Conditions可以通过rat_sql_tpl中的NewConditions()函数创建,其中有各种条件可供使用,如Equal,Like等
+Conditions可以通过sql_tpl中的NewConditions()函数创建,其中有各种条件可供使用,如Equal,Like等
 
 返回值:
 
@@ -540,7 +540,7 @@ Conditions可以通过rat_sql_tpl中的NewConditions()函数创建,其中有
 2. 是否出现错误
 
 ```go
-func CheckExist(executor SqlExecutor, executeParams *sql_tpl.CheckExistExecuteParams) (bool, error)
+func CheckExist(executor Executor, executeParams *sql_tpl.CheckExistExecuteParams) (bool, error)
 ```
 
 通过简化的COUNT语句执行存在性检查
@@ -557,7 +557,7 @@ type CheckExistExecuteParams struct {
 }
 ```
 
-Conditions可以通过rat_sql_tpl中的NewConditions()函数创建,其中有各种条件可供使用,如Equal,Like等
+Conditions可以通过sql_tpl中的NewConditions()函数创建,其中有各种条件可供使用,如Equal,Like等
 
 返回值:
 
@@ -565,7 +565,7 @@ Conditions可以通过rat_sql_tpl中的NewConditions()函数创建,其中有
 2. 是否出现错误
 
 ```go
-func CheckHasOnlyOne(executor SqlExecutor, executeParams *sql_tpl.CheckHasOnlyOneExecuteParams) (bool, error)
+func CheckHasOnlyOne(executor Executor, executeParams *sql_tpl.CheckHasOnlyOneExecuteParams) (bool, error)
 ```
 
 通过简化的COUNT语句执行唯一性检查
@@ -582,7 +582,7 @@ type CheckHasOnlyOneExecuteParams struct {
 }
 ```
 
-Conditions可以通过rat_sql_tpl中的NewConditions()函数创建,其中有各种条件可供使用,如Equal,Like等
+Conditions可以通过sql_tpl中的NewConditions()函数创建,其中有各种条件可供使用,如Equal,Like等
 
 返回值:
 
@@ -590,7 +590,7 @@ Conditions可以通过rat_sql_tpl中的NewConditions()函数创建,其中有
 2. 是否出现错误
 
 ```go
-func ExecuteRawSql(executor SqlExecutor, sql string, executeParams map[string]any) ([]map[string]any, error)
+func ExecuteRawSql(executor Executor, sql string, executeParams map[string]any) ([]map[string]any, error)
 ```
 
 执行SQL语句
@@ -607,7 +607,7 @@ func ExecuteRawSql(executor SqlExecutor, sql string, executeParams map[string]an
 2. 是否出现错误
 
 ```go
-func ExecuteSql(executor SqlExecutor, name string, executeParams map[string]any) ([]map[string]any, error)
+func ExecuteSql(executor Executor, name string, executeParams map[string]any) ([]map[string]any, error)
 ```
 
 执行SQL语句

+ 49 - 45
sql/sql.go

@@ -4,14 +4,16 @@ import (
 	"errors"
 	"git.sxidc.com/go-tools/utils/strutils"
 	"git.sxidc.com/service-supports/ds-sdk/sdk"
-	raw_sql_tpl2 "git.sxidc.com/service-supports/ds-sdk/sql/sql_tpl"
+	"git.sxidc.com/service-supports/ds-sdk/sql/sql_tpl"
 	"github.com/mitchellh/mapstructure"
 	"reflect"
 	"strings"
 	"time"
 )
 
-type SqlExecutor interface {
+// TODO Key字段校验零值
+
+type Executor interface {
 	ExecuteRawSql(sql string, executeParams map[string]any) ([]map[string]any, error)
 	ExecuteSql(name string, executeParams map[string]any) ([]map[string]any, error)
 }
@@ -21,7 +23,7 @@ const (
 	lastUpdatedTimeFieldName = "LastUpdatedTime"
 )
 
-func InsertEntity[T any](executor SqlExecutor, tableName string, e T) error {
+func InsertEntity[T any](executor Executor, tableName string, e T) error {
 	if executor == nil {
 		return errors.New("没有传递执行器")
 	}
@@ -39,7 +41,7 @@ func InsertEntity[T any](executor SqlExecutor, tableName string, e T) error {
 		return err
 	}
 
-	tableRow := raw_sql_tpl2.NewTableRows()
+	tableRow := sql_tpl.NewTableRows()
 
 	now := time.Now()
 
@@ -62,7 +64,7 @@ func InsertEntity[T any](executor SqlExecutor, tableName string, e T) error {
 		}
 	}
 
-	executeParamsMap, err := raw_sql_tpl2.InsertExecuteParams{
+	executeParamsMap, err := sql_tpl.InsertExecuteParams{
 		TableName: tableName,
 		TableRows: tableRow,
 	}.Map()
@@ -70,7 +72,7 @@ func InsertEntity[T any](executor SqlExecutor, tableName string, e T) error {
 		return err
 	}
 
-	_, err = executor.ExecuteRawSql(raw_sql_tpl2.InsertTpl, executeParamsMap)
+	_, err = executor.ExecuteRawSql(sql_tpl.InsertTpl, executeParamsMap)
 	if err != nil {
 		if strings.Contains(err.Error(), "SQLSTATE 23505") {
 			return sdk.ErrDBRecordHasExist
@@ -82,7 +84,7 @@ func InsertEntity[T any](executor SqlExecutor, tableName string, e T) error {
 	return nil
 }
 
-func DeleteEntity[T any](executor SqlExecutor, tableName string, e T) error {
+func DeleteEntity[T any](executor Executor, tableName string, e T) error {
 	if executor == nil {
 		return errors.New("没有传递执行器")
 	}
@@ -100,7 +102,7 @@ func DeleteEntity[T any](executor SqlExecutor, tableName string, e T) error {
 		return err
 	}
 
-	conditions := raw_sql_tpl2.NewConditions()
+	conditions := sql_tpl.NewConditions()
 
 	for _, sqlMappingColumn := range sqlMapping.ColumnMap {
 		if !sqlMappingColumn.IsKey {
@@ -120,7 +122,7 @@ func DeleteEntity[T any](executor SqlExecutor, tableName string, e T) error {
 		}
 	}
 
-	executeParamsMap, err := raw_sql_tpl2.DeleteExecuteParams{
+	executeParamsMap, err := sql_tpl.DeleteExecuteParams{
 		TableName:  tableName,
 		Conditions: conditions,
 	}.Map()
@@ -128,7 +130,7 @@ func DeleteEntity[T any](executor SqlExecutor, tableName string, e T) error {
 		return err
 	}
 
-	_, err = executor.ExecuteRawSql(raw_sql_tpl2.DeleteTpl, executeParamsMap)
+	_, err = executor.ExecuteRawSql(sql_tpl.DeleteTpl, executeParamsMap)
 	if err != nil {
 		return err
 	}
@@ -136,7 +138,7 @@ func DeleteEntity[T any](executor SqlExecutor, tableName string, e T) error {
 	return nil
 }
 
-func UpdateEntity[T any](executor SqlExecutor, tableName string, e T) error {
+func UpdateEntity[T any](executor Executor, tableName string, e T) error {
 	if executor == nil {
 		return errors.New("没有传递执行器")
 	}
@@ -154,21 +156,21 @@ func UpdateEntity[T any](executor SqlExecutor, tableName string, e T) error {
 		return err
 	}
 
-	tableRows := raw_sql_tpl2.NewTableRows()
-	conditions := raw_sql_tpl2.NewConditions()
+	tableRows := sql_tpl.NewTableRows()
+	conditions := sql_tpl.NewConditions()
 
 	now := time.Now()
 
-	for fieldName, sqlMappingColumn := range sqlMapping.ColumnMap {
-		if !sqlMappingColumn.IsKey && !sqlMappingColumn.CanUpdate {
+	for fieldName, sqlColumn := range sqlMapping.ColumnMap {
+		if !sqlColumn.IsKey && !sqlColumn.CanUpdate {
 			continue
 		}
 
-		fieldType := sqlMappingColumn.ValueFieldType
+		fieldType := sqlColumn.ValueFieldType
 
 		value := reflect.Zero(fieldType).Interface()
-		if !sqlMappingColumn.ValueFieldValue.IsZero() {
-			value = sqlMappingColumn.ValueFieldValue.Interface()
+		if !sqlColumn.ValueFieldValue.IsZero() {
+			value = sqlColumn.ValueFieldValue.Interface()
 		}
 
 		if fieldName == lastUpdatedTimeFieldName &&
@@ -177,26 +179,26 @@ func UpdateEntity[T any](executor SqlExecutor, tableName string, e T) error {
 		}
 
 		// 字段为空且不能清空,不更新
-		if reflect.ValueOf(value).IsZero() && !sqlMappingColumn.CanUpdateClear {
+		if reflect.ValueOf(value).IsZero() && !sqlColumn.CanUpdateClear {
 			continue
 		}
 
-		if !sqlMappingColumn.IsKey {
-			err := tableRows.Add(sqlMappingColumn.Name, value).Err
+		if !sqlColumn.IsKey {
+			err := tableRows.Add(sqlColumn.Name, value).Err
 			if err != nil {
 				return err
 			}
 		}
 
-		if sqlMappingColumn.IsKey {
-			err := conditions.Equal(sqlMappingColumn.Name, value).Err
+		if sqlColumn.IsKey {
+			err := conditions.Equal(sqlColumn.Name, value).Err
 			if err != nil {
 				return err
 			}
 		}
 	}
 
-	executeParamsMap, err := raw_sql_tpl2.UpdateExecuteParams{
+	executeParamsMap, err := sql_tpl.UpdateExecuteParams{
 		TableName:  tableName,
 		TableRows:  tableRows,
 		Conditions: conditions,
@@ -205,7 +207,7 @@ func UpdateEntity[T any](executor SqlExecutor, tableName string, e T) error {
 		return err
 	}
 
-	_, err = executor.ExecuteRawSql(raw_sql_tpl2.UpdateTpl, executeParamsMap)
+	_, err = executor.ExecuteRawSql(sql_tpl.UpdateTpl, executeParamsMap)
 	if err != nil {
 		return err
 	}
@@ -213,7 +215,7 @@ func UpdateEntity[T any](executor SqlExecutor, tableName string, e T) error {
 	return nil
 }
 
-func Insert(executor SqlExecutor, executeParams *raw_sql_tpl2.InsertExecuteParams) error {
+func Insert(executor Executor, executeParams *sql_tpl.InsertExecuteParams) error {
 	if executor == nil {
 		return errors.New("没有传递执行器")
 	}
@@ -227,7 +229,7 @@ func Insert(executor SqlExecutor, executeParams *raw_sql_tpl2.InsertExecuteParam
 		return err
 	}
 
-	_, err = executor.ExecuteRawSql(raw_sql_tpl2.InsertTpl, executeParamsMap)
+	_, err = executor.ExecuteRawSql(sql_tpl.InsertTpl, executeParamsMap)
 	if err != nil {
 		return err
 	}
@@ -235,7 +237,7 @@ func Insert(executor SqlExecutor, executeParams *raw_sql_tpl2.InsertExecuteParam
 	return nil
 }
 
-func Delete(executor SqlExecutor, executeParams *raw_sql_tpl2.DeleteExecuteParams) error {
+func Delete(executor Executor, executeParams *sql_tpl.DeleteExecuteParams) error {
 	if executor == nil {
 		return errors.New("没有传递执行器")
 	}
@@ -249,7 +251,7 @@ func Delete(executor SqlExecutor, executeParams *raw_sql_tpl2.DeleteExecuteParam
 		return err
 	}
 
-	_, err = executor.ExecuteRawSql(raw_sql_tpl2.DeleteTpl, executeParamsMap)
+	_, err = executor.ExecuteRawSql(sql_tpl.DeleteTpl, executeParamsMap)
 	if err != nil {
 		return err
 	}
@@ -257,7 +259,7 @@ func Delete(executor SqlExecutor, executeParams *raw_sql_tpl2.DeleteExecuteParam
 	return nil
 }
 
-func Update(executor SqlExecutor, executeParams *raw_sql_tpl2.UpdateExecuteParams) error {
+func Update(executor Executor, executeParams *sql_tpl.UpdateExecuteParams) error {
 	if executor == nil {
 		return errors.New("没有传递执行器")
 	}
@@ -271,7 +273,7 @@ func Update(executor SqlExecutor, executeParams *raw_sql_tpl2.UpdateExecuteParam
 		return err
 	}
 
-	_, err = executor.ExecuteRawSql(raw_sql_tpl2.UpdateTpl, executeParamsMap)
+	_, err = executor.ExecuteRawSql(sql_tpl.UpdateTpl, executeParamsMap)
 	if err != nil {
 		return err
 	}
@@ -279,7 +281,7 @@ func Update(executor SqlExecutor, executeParams *raw_sql_tpl2.UpdateExecuteParam
 	return nil
 }
 
-func Query(executor SqlExecutor, executeParams *raw_sql_tpl2.QueryExecuteParams) ([]map[string]any, int64, error) {
+func Query(executor Executor, executeParams *sql_tpl.QueryExecuteParams) ([]map[string]any, int64, error) {
 	if executor == nil {
 		return nil, 0, errors.New("没有传递执行器")
 	}
@@ -293,7 +295,7 @@ func Query(executor SqlExecutor, executeParams *raw_sql_tpl2.QueryExecuteParams)
 		return nil, 0, err
 	}
 
-	countExecuteParamsMap, err := raw_sql_tpl2.CountExecuteParams{
+	countExecuteParamsMap, err := sql_tpl.CountExecuteParams{
 		TableName:  executeParams.TableName,
 		Conditions: executeParams.Conditions,
 	}.Map()
@@ -301,12 +303,12 @@ func Query(executor SqlExecutor, executeParams *raw_sql_tpl2.QueryExecuteParams)
 		return nil, 0, err
 	}
 
-	tableRows, err := executor.ExecuteRawSql(raw_sql_tpl2.QueryTpl, queryExecuteParamsMap)
+	tableRows, err := executor.ExecuteRawSql(sql_tpl.QueryTpl, queryExecuteParamsMap)
 	if err != nil {
 		return nil, 0, err
 	}
 
-	countTableRow, err := executor.ExecuteRawSql(raw_sql_tpl2.CountTpl, countExecuteParamsMap)
+	countTableRow, err := executor.ExecuteRawSql(sql_tpl.CountTpl, countExecuteParamsMap)
 	if err != nil {
 		return nil, 0, err
 	}
@@ -314,7 +316,7 @@ func Query(executor SqlExecutor, executeParams *raw_sql_tpl2.QueryExecuteParams)
 	return tableRows, int64(countTableRow[0]["count"].(float64)), nil
 }
 
-func QueryOne(executor SqlExecutor, executeParams *raw_sql_tpl2.QueryOneExecuteParams) (map[string]any, error) {
+func QueryOne(executor Executor, executeParams *sql_tpl.QueryOneExecuteParams) (map[string]any, error) {
 	if executor == nil {
 		return nil, errors.New("没有传递执行器")
 	}
@@ -328,7 +330,7 @@ func QueryOne(executor SqlExecutor, executeParams *raw_sql_tpl2.QueryOneExecuteP
 		return nil, err
 	}
 
-	tableRows, err := executor.ExecuteRawSql(raw_sql_tpl2.QueryTpl, executeParamsMap)
+	tableRows, err := executor.ExecuteRawSql(sql_tpl.QueryTpl, executeParamsMap)
 	if err != nil {
 		return nil, err
 	}
@@ -340,7 +342,7 @@ func QueryOne(executor SqlExecutor, executeParams *raw_sql_tpl2.QueryOneExecuteP
 	return tableRows[0], nil
 }
 
-func Count(executor SqlExecutor, executeParams *raw_sql_tpl2.CountExecuteParams) (int64, error) {
+func Count(executor Executor, executeParams *sql_tpl.CountExecuteParams) (int64, error) {
 	if executor == nil {
 		return 0, errors.New("没有传递执行器")
 	}
@@ -354,7 +356,7 @@ func Count(executor SqlExecutor, executeParams *raw_sql_tpl2.CountExecuteParams)
 		return 0, err
 	}
 
-	tableRows, err := executor.ExecuteRawSql(raw_sql_tpl2.CountTpl, executeParamsMap)
+	tableRows, err := executor.ExecuteRawSql(sql_tpl.CountTpl, executeParamsMap)
 	if err != nil {
 		return 0, err
 	}
@@ -362,7 +364,7 @@ func Count(executor SqlExecutor, executeParams *raw_sql_tpl2.CountExecuteParams)
 	return int64(tableRows[0]["count"].(float64)), nil
 }
 
-func CheckExist(executor SqlExecutor, executeParams *raw_sql_tpl2.CheckExistExecuteParams) (bool, error) {
+func CheckExist(executor Executor, executeParams *sql_tpl.CheckExistExecuteParams) (bool, error) {
 	if executor == nil {
 		return false, errors.New("没有传递执行器")
 	}
@@ -376,7 +378,7 @@ func CheckExist(executor SqlExecutor, executeParams *raw_sql_tpl2.CheckExistExec
 		return false, err
 	}
 
-	tableRows, err := executor.ExecuteRawSql(raw_sql_tpl2.CountTpl, executeParamsMap)
+	tableRows, err := executor.ExecuteRawSql(sql_tpl.CountTpl, executeParamsMap)
 	if err != nil {
 		return false, err
 	}
@@ -384,7 +386,7 @@ func CheckExist(executor SqlExecutor, executeParams *raw_sql_tpl2.CheckExistExec
 	return int64(tableRows[0]["count"].(float64)) > 0, nil
 }
 
-func CheckHasOnlyOne(executor SqlExecutor, executeParams *raw_sql_tpl2.CheckHasOnlyOneExecuteParams) (bool, error) {
+func CheckHasOnlyOne(executor Executor, executeParams *sql_tpl.CheckHasOnlyOneExecuteParams) (bool, error) {
 	if executor == nil {
 		return false, errors.New("没有传递执行器")
 	}
@@ -398,7 +400,7 @@ func CheckHasOnlyOne(executor SqlExecutor, executeParams *raw_sql_tpl2.CheckHasO
 		return false, err
 	}
 
-	tableRows, err := executor.ExecuteRawSql(raw_sql_tpl2.CountTpl, executeParamsMap)
+	tableRows, err := executor.ExecuteRawSql(sql_tpl.CountTpl, executeParamsMap)
 	if err != nil {
 		return false, err
 	}
@@ -406,7 +408,7 @@ func CheckHasOnlyOne(executor SqlExecutor, executeParams *raw_sql_tpl2.CheckHasO
 	return int64(tableRows[0]["count"].(float64)) == 1, nil
 }
 
-func ExecuteRawSql(executor SqlExecutor, sql string, executeParams map[string]any) ([]map[string]any, error) {
+func ExecuteRawSql(executor Executor, sql string, executeParams map[string]any) ([]map[string]any, error) {
 	if executor == nil {
 		return nil, errors.New("没有传递执行器")
 	}
@@ -423,7 +425,7 @@ func ExecuteRawSql(executor SqlExecutor, sql string, executeParams map[string]an
 	return tableRows, nil
 }
 
-func ExecuteSql(executor SqlExecutor, name string, executeParams map[string]any) ([]map[string]any, error) {
+func ExecuteSql(executor Executor, name string, executeParams map[string]any) ([]map[string]any, error) {
 	if executor == nil {
 		return nil, errors.New("没有传递执行器")
 	}
@@ -446,6 +448,8 @@ const (
 	sqlResultTimeSecFormat   = "2006-01-02T15:04:05+08:00"
 )
 
+// TODO 添加DecodeHook
+
 func ParseSqlResults(results any, e any) error {
 	decoder, err := mapstructure.NewDecoder(&mapstructure.DecoderConfig{
 		DecodeHook: func(f reflect.Type, t reflect.Type, data interface{}) (interface{}, error) {

+ 8 - 8
sql/sql_mapping.go

@@ -22,11 +22,11 @@ const (
 	sqlMappingUpdateClear = "updateClear"
 )
 
-type SqlMapping struct {
-	ColumnMap map[string]SqlMappingColumn
+type Mapping struct {
+	ColumnMap map[string]MappingColumn
 }
 
-func ParseSqlMapping(e any) (*SqlMapping, error) {
+func ParseSqlMapping(e any) (*Mapping, error) {
 	if e == nil {
 		return nil, errors.New("没有传递实体")
 	}
@@ -45,8 +45,8 @@ func ParseSqlMapping(e any) (*SqlMapping, error) {
 		entityValue = entityValue.Elem()
 	}
 
-	sqlMapping := new(SqlMapping)
-	sqlMapping.ColumnMap = make(map[string]SqlMappingColumn)
+	sqlMapping := new(Mapping)
+	sqlMapping.ColumnMap = make(map[string]MappingColumn)
 
 	fieldNum := entityType.NumField()
 	for i := 0; i < fieldNum; i++ {
@@ -68,7 +68,7 @@ func ParseSqlMapping(e any) (*SqlMapping, error) {
 	return sqlMapping, nil
 }
 
-type SqlMappingColumn struct {
+type MappingColumn struct {
 	Name           string
 	IsKey          bool
 	CanUpdate      bool
@@ -83,7 +83,7 @@ type SqlMappingColumn struct {
 	ValueFieldValue reflect.Value
 }
 
-func parseSqlMappingColumn(field reflect.StructField, fieldValue reflect.Value) (*SqlMappingColumn, error) {
+func parseSqlMappingColumn(field reflect.StructField, fieldValue reflect.Value) (*MappingColumn, error) {
 	valueFieldType := field.Type
 	valueFieldValue := fieldValue
 
@@ -97,7 +97,7 @@ func parseSqlMappingColumn(field reflect.StructField, fieldValue reflect.Value)
 		}
 	}
 
-	sqlColumn := &SqlMappingColumn{
+	sqlColumn := &MappingColumn{
 		Name:             strcase.ToSnake(field.Name),
 		IsKey:            false,
 		CanUpdate:        true,

+ 2 - 0
sql/sql_tpl/sql_tpl.go

@@ -14,6 +14,8 @@ type InsertExecuteParams struct {
 	*TableRows
 }
 
+// TODO 判断Err
+
 func (params InsertExecuteParams) Map() (map[string]any, error) {
 	columns := make([]string, 0)
 	values := make([]any, 0)

+ 56 - 56
test/sdk_test.go

@@ -5,7 +5,7 @@ import (
 	"git.sxidc.com/go-tools/utils/strutils"
 	"git.sxidc.com/service-supports/ds-sdk/sdk"
 	"git.sxidc.com/service-supports/ds-sdk/sql"
-	raw_sql_tpl2 "git.sxidc.com/service-supports/ds-sdk/sql/sql_tpl"
+	"git.sxidc.com/service-supports/ds-sdk/sql/sql_tpl"
 	"github.com/iancoleman/strcase"
 	"math/rand"
 	"strings"
@@ -18,7 +18,7 @@ type Class struct {
 	ID              string     `mapstructure:"id"`
 	Name            string     `sqlmapping:"updateClear;" mapstructure:"name"`
 	StudentNum      int        `sqlmapping:"column:student_num;notUpdate;" mapstructure:"student_num_alias"`
-	GraduatedTime   time.Time  `sqlresult:"callback" mapstructure:"graduated_time"`
+	GraduatedTime   time.Time  `mapstructure:"graduated_time"`
 	CreatedTime     *time.Time `mapstructure:"created_time"`
 	LastUpdatedTime time.Time  `mapstructure:"last_updated_time"`
 	Ignored         string     `sqlmapping:"-" mapstructure:"-"`
@@ -64,9 +64,9 @@ func TestBasic(t *testing.T) {
 	studentNum := rand.Int31n(100)
 	now := time.Now()
 
-	insertExecuteParams, err := raw_sql_tpl2.InsertExecuteParams{
+	insertExecuteParams, err := sql_tpl.InsertExecuteParams{
 		TableName: tableName,
-		TableRows: raw_sql_tpl2.NewTableRows().Add("id", classID).
+		TableRows: sql_tpl.NewTableRows().Add("id", classID).
 			Add("name", className).
 			Add("student_num", studentNum).
 			Add("graduated_time", now).
@@ -106,7 +106,7 @@ func TestBasic(t *testing.T) {
 		}
 	}()
 
-	_, err = sdk.GetInstance().ExecuteRawSql(raw_sql_tpl2.InsertTpl, insertExecuteParams)
+	_, err = sdk.GetInstance().ExecuteRawSql(sql_tpl.InsertTpl, insertExecuteParams)
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -126,7 +126,7 @@ func TestBasic(t *testing.T) {
 			defer wg.Done()
 
 			err = sdk.GetInstance().Transaction(func(tx *sdk.Transaction) error {
-				_, err := tx.ExecuteRawSql(raw_sql_tpl2.InsertTpl, insertExecuteParams)
+				_, err := tx.ExecuteRawSql(sql_tpl.InsertTpl, insertExecuteParams)
 				if err != nil {
 					return err
 				}
@@ -160,9 +160,9 @@ func TestRawSqlTemplate(t *testing.T) {
 
 	now := time.Now()
 
-	insertExecuteParams, err := raw_sql_tpl2.InsertExecuteParams{
+	insertExecuteParams, err := sql_tpl.InsertExecuteParams{
 		TableName: tableName,
-		TableRows: raw_sql_tpl2.NewTableRows().Add("id", classID).
+		TableRows: sql_tpl.NewTableRows().Add("id", classID).
 			Add("name", className).
 			Add("student_num", studentNum).
 			Add("graduated_time", now).
@@ -173,28 +173,28 @@ func TestRawSqlTemplate(t *testing.T) {
 		t.Fatal(err)
 	}
 
-	deleteExecuteParams, err := raw_sql_tpl2.DeleteExecuteParams{
+	deleteExecuteParams, err := sql_tpl.DeleteExecuteParams{
 		TableName:  tableName,
-		Conditions: raw_sql_tpl2.NewConditions().Equal("id", classID),
+		Conditions: sql_tpl.NewConditions().Equal("id", classID),
 	}.Map()
 	if err != nil {
 		t.Fatal(err)
 	}
 
-	updateExecuteParams, err := raw_sql_tpl2.UpdateExecuteParams{
+	updateExecuteParams, err := sql_tpl.UpdateExecuteParams{
 		TableName: tableName,
-		TableRows: raw_sql_tpl2.NewTableRows().Add("name", newClassName).
+		TableRows: sql_tpl.NewTableRows().Add("name", newClassName).
 			Add("student_num", newStudentNum),
-		Conditions: raw_sql_tpl2.NewConditions().Equal("id", classID),
+		Conditions: sql_tpl.NewConditions().Equal("id", classID),
 	}.Map()
 	if err != nil {
 		t.Fatal(err)
 	}
 
-	queryExecuteParams, err := raw_sql_tpl2.QueryExecuteParams{
+	queryExecuteParams, err := sql_tpl.QueryExecuteParams{
 		TableName:     tableName,
 		SelectColumns: []string{"id", "name", "student_num as student_num_alias", "graduated_time", "created_time", "last_updated_time"},
-		Conditions: raw_sql_tpl2.NewConditions().
+		Conditions: sql_tpl.NewConditions().
 			Equal("id", classID).
 			Equal("name", className).
 			Equal("student_num", studentNum),
@@ -205,10 +205,10 @@ func TestRawSqlTemplate(t *testing.T) {
 		t.Fatal(err)
 	}
 
-	newQueryExecuteParams, err := raw_sql_tpl2.QueryExecuteParams{
+	newQueryExecuteParams, err := sql_tpl.QueryExecuteParams{
 		TableName:     tableName,
 		SelectColumns: []string{"id", "name", "student_num as student_num_alias", "graduated_time", "created_time", "last_updated_time"},
-		Conditions: raw_sql_tpl2.NewConditions().
+		Conditions: sql_tpl.NewConditions().
 			Equal("id", classID).
 			Equal("name", newClassName).
 			Equal("student_num", newStudentNum),
@@ -219,9 +219,9 @@ func TestRawSqlTemplate(t *testing.T) {
 		t.Fatal(err)
 	}
 
-	countExecuteParams, err := raw_sql_tpl2.CountExecuteParams{
+	countExecuteParams, err := sql_tpl.CountExecuteParams{
 		TableName: tableName,
-		Conditions: raw_sql_tpl2.NewConditions().
+		Conditions: sql_tpl.NewConditions().
 			Equal("id", classID).
 			Equal("name", className).
 			Equal("student_num", studentNum),
@@ -230,9 +230,9 @@ func TestRawSqlTemplate(t *testing.T) {
 		t.Fatal(err)
 	}
 
-	newCountExecuteParams, err := raw_sql_tpl2.CountExecuteParams{
+	newCountExecuteParams, err := sql_tpl.CountExecuteParams{
 		TableName: tableName,
-		Conditions: raw_sql_tpl2.NewConditions().
+		Conditions: sql_tpl.NewConditions().
 			Equal("id", classID).
 			Equal("name", newClassName).
 			Equal("student_num", newStudentNum),
@@ -253,17 +253,17 @@ func TestRawSqlTemplate(t *testing.T) {
 		}
 	}()
 
-	_, err = sdk.GetInstance().ExecuteRawSql(raw_sql_tpl2.InsertTpl, insertExecuteParams)
+	_, err = sdk.GetInstance().ExecuteRawSql(sql_tpl.InsertTpl, insertExecuteParams)
 	if err != nil {
 		t.Fatal(err)
 	}
 
-	queryResults, err := sdk.GetInstance().ExecuteRawSql(raw_sql_tpl2.QueryTpl, queryExecuteParams)
+	queryResults, err := sdk.GetInstance().ExecuteRawSql(sql_tpl.QueryTpl, queryExecuteParams)
 	if err != nil {
 		t.Fatal(err)
 	}
 
-	countResults, err := sdk.GetInstance().ExecuteRawSql(raw_sql_tpl2.CountTpl, countExecuteParams)
+	countResults, err := sdk.GetInstance().ExecuteRawSql(sql_tpl.CountTpl, countExecuteParams)
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -291,17 +291,17 @@ func TestRawSqlTemplate(t *testing.T) {
 		t.Fatal("查询数据不正确")
 	}
 
-	_, err = sdk.GetInstance().ExecuteRawSql(raw_sql_tpl2.UpdateTpl, updateExecuteParams)
+	_, err = sdk.GetInstance().ExecuteRawSql(sql_tpl.UpdateTpl, updateExecuteParams)
 	if err != nil {
 		t.Fatal(err)
 	}
 
-	queryResults, err = sdk.GetInstance().ExecuteRawSql(raw_sql_tpl2.QueryTpl, newQueryExecuteParams)
+	queryResults, err = sdk.GetInstance().ExecuteRawSql(sql_tpl.QueryTpl, newQueryExecuteParams)
 	if err != nil {
 		t.Fatal(err)
 	}
 
-	countResults, err = sdk.GetInstance().ExecuteRawSql(raw_sql_tpl2.CountTpl, newCountExecuteParams)
+	countResults, err = sdk.GetInstance().ExecuteRawSql(sql_tpl.CountTpl, newCountExecuteParams)
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -329,7 +329,7 @@ func TestRawSqlTemplate(t *testing.T) {
 		t.Fatal("查询数据不正确")
 	}
 
-	_, err = sdk.GetInstance().ExecuteRawSql(raw_sql_tpl2.DeleteTpl, deleteExecuteParams)
+	_, err = sdk.GetInstance().ExecuteRawSql(sql_tpl.DeleteTpl, deleteExecuteParams)
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -380,9 +380,9 @@ func TestSql(t *testing.T) {
 	newStudentNum := rand.Int31n(100)
 	now := time.Now()
 
-	insertExecuteParams, err := raw_sql_tpl2.InsertExecuteParams{
+	insertExecuteParams, err := sql_tpl.InsertExecuteParams{
 		TableName: tableName,
-		TableRows: raw_sql_tpl2.NewTableRows().Add("id", classID).
+		TableRows: sql_tpl.NewTableRows().Add("id", classID).
 			Add("name", className).
 			Add("student_num", studentNum).
 			Add("graduated_time", now).
@@ -456,9 +456,9 @@ func TestSql(t *testing.T) {
 		t.Fatal(err)
 	}
 
-	err = sql.Insert(sdk.GetInstance(), &raw_sql_tpl2.InsertExecuteParams{
+	err = sql.Insert(sdk.GetInstance(), &sql_tpl.InsertExecuteParams{
 		TableName: tableName,
-		TableRows: raw_sql_tpl2.NewTableRows().Add("id", classID).
+		TableRows: sql_tpl.NewTableRows().Add("id", classID).
 			Add("name", className).
 			Add("student_num", studentNum).
 			Add("graduated_time", now).
@@ -469,28 +469,28 @@ func TestSql(t *testing.T) {
 		t.Fatal(err)
 	}
 
-	err = sql.Update(sdk.GetInstance(), &raw_sql_tpl2.UpdateExecuteParams{
+	err = sql.Update(sdk.GetInstance(), &sql_tpl.UpdateExecuteParams{
 		TableName: tableName,
-		TableRows: raw_sql_tpl2.NewTableRows().Add("id", classID).
+		TableRows: sql_tpl.NewTableRows().Add("id", classID).
 			Add("name", newClassName).
 			Add("student_num", newStudentNum),
-		Conditions: raw_sql_tpl2.NewConditions().
+		Conditions: sql_tpl.NewConditions().
 			Equal("id", classID),
 	})
 	if err != nil {
 		t.Fatal(err)
 	}
 
-	err = sql.Delete(sdk.GetInstance(), &raw_sql_tpl2.DeleteExecuteParams{
+	err = sql.Delete(sdk.GetInstance(), &sql_tpl.DeleteExecuteParams{
 		TableName: tableName,
-		Conditions: raw_sql_tpl2.NewConditions().
+		Conditions: sql_tpl.NewConditions().
 			Equal("id", classID),
 	})
 	if err != nil {
 		t.Fatal(err)
 	}
 
-	_, err = sql.ExecuteRawSql(sdk.GetInstance(), raw_sql_tpl2.InsertTpl, insertExecuteParams)
+	_, err = sql.ExecuteRawSql(sdk.GetInstance(), sql_tpl.InsertTpl, insertExecuteParams)
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -516,9 +516,9 @@ func TestSql(t *testing.T) {
 			t.Fatal(err)
 		}
 
-		err = sql.Insert(tx, &raw_sql_tpl2.InsertExecuteParams{
+		err = sql.Insert(tx, &sql_tpl.InsertExecuteParams{
 			TableName: tableName,
-			TableRows: raw_sql_tpl2.NewTableRows().Add("id", classID).
+			TableRows: sql_tpl.NewTableRows().Add("id", classID).
 				Add("name", className).
 				Add("student_num", studentNum).
 				Add("graduated_time", now).
@@ -529,28 +529,28 @@ func TestSql(t *testing.T) {
 			t.Fatal(err)
 		}
 
-		err = sql.Update(tx, &raw_sql_tpl2.UpdateExecuteParams{
+		err = sql.Update(tx, &sql_tpl.UpdateExecuteParams{
 			TableName: tableName,
-			TableRows: raw_sql_tpl2.NewTableRows().Add("id", classID).
+			TableRows: sql_tpl.NewTableRows().Add("id", classID).
 				Add("name", newClassName).
 				Add("student_num", newStudentNum),
-			Conditions: raw_sql_tpl2.NewConditions().
+			Conditions: sql_tpl.NewConditions().
 				Equal("id", classID),
 		})
 		if err != nil {
 			t.Fatal(err)
 		}
 
-		err = sql.Delete(tx, &raw_sql_tpl2.DeleteExecuteParams{
+		err = sql.Delete(tx, &sql_tpl.DeleteExecuteParams{
 			TableName: tableName,
-			Conditions: raw_sql_tpl2.NewConditions().
+			Conditions: sql_tpl.NewConditions().
 				Equal("id", classID),
 		})
 		if err != nil {
 			t.Fatal(err)
 		}
 
-		_, err = sql.ExecuteRawSql(tx, raw_sql_tpl2.InsertTpl, insertExecuteParams)
+		_, err = sql.ExecuteRawSql(tx, sql_tpl.InsertTpl, insertExecuteParams)
 		if err != nil {
 			t.Fatal(err)
 		}
@@ -571,10 +571,10 @@ func TestSql(t *testing.T) {
 		t.Fatal(err)
 	}
 
-	tableRows, totalCount, err := sql.Query(sdk.GetInstance(), &raw_sql_tpl2.QueryExecuteParams{
+	tableRows, totalCount, err := sql.Query(sdk.GetInstance(), &sql_tpl.QueryExecuteParams{
 		TableName:     tableName,
 		SelectColumns: []string{"id", "name"},
-		Conditions: raw_sql_tpl2.NewConditions().
+		Conditions: sql_tpl.NewConditions().
 			Equal("id", classID).
 			Equal("name", className).
 			Equal("student_num", studentNum),
@@ -603,10 +603,10 @@ func TestSql(t *testing.T) {
 		t.Fatal("查询数据不正确")
 	}
 
-	tableRow, err := sql.QueryOne(sdk.GetInstance(), &raw_sql_tpl2.QueryOneExecuteParams{
+	tableRow, err := sql.QueryOne(sdk.GetInstance(), &sql_tpl.QueryOneExecuteParams{
 		TableName:     tableName,
 		SelectColumns: []string{"id", "name"},
-		Conditions: raw_sql_tpl2.NewConditions().
+		Conditions: sql_tpl.NewConditions().
 			Equal("id", classID).
 			Equal("name", className).
 			Equal("student_num", studentNum),
@@ -629,9 +629,9 @@ func TestSql(t *testing.T) {
 		t.Fatal("查询数据不正确")
 	}
 
-	queryCount, err := sql.Count(sdk.GetInstance(), &raw_sql_tpl2.CountExecuteParams{
+	queryCount, err := sql.Count(sdk.GetInstance(), &sql_tpl.CountExecuteParams{
 		TableName: tableName,
-		Conditions: raw_sql_tpl2.NewConditions().
+		Conditions: sql_tpl.NewConditions().
 			Equal("id", classID).
 			Equal("name", className).
 			Equal("student_num", studentNum),
@@ -644,9 +644,9 @@ func TestSql(t *testing.T) {
 		t.Fatal("数量不正确")
 	}
 
-	exist, err := sql.CheckExist(sdk.GetInstance(), &raw_sql_tpl2.CheckExistExecuteParams{
+	exist, err := sql.CheckExist(sdk.GetInstance(), &sql_tpl.CheckExistExecuteParams{
 		TableName: tableName,
-		Conditions: raw_sql_tpl2.NewConditions().
+		Conditions: sql_tpl.NewConditions().
 			Equal("id", classID).
 			Equal("name", className).
 			Equal("student_num", studentNum),
@@ -659,9 +659,9 @@ func TestSql(t *testing.T) {
 		t.Fatal("存在状态错误")
 	}
 
-	hasOnlyOne, err := sql.CheckHasOnlyOne(sdk.GetInstance(), &raw_sql_tpl2.CheckHasOnlyOneExecuteParams{
+	hasOnlyOne, err := sql.CheckHasOnlyOne(sdk.GetInstance(), &sql_tpl.CheckHasOnlyOneExecuteParams{
 		TableName: tableName,
-		Conditions: raw_sql_tpl2.NewConditions().
+		Conditions: sql_tpl.NewConditions().
 			Equal("id", classID).
 			Equal("name", className).
 			Equal("student_num", studentNum),