diff --git a/RegexReplaceArg_test.go b/RegexReplaceArg_test.go index 15bd251..7baba1f 100644 --- a/RegexReplaceArg_test.go +++ b/RegexReplaceArg_test.go @@ -38,7 +38,7 @@ func Test_Access_Arg(t *testing.T) { var string = "-----#{bean.Name}------#{bean.Child.Age}---" var arg = replaceArg(string, param, GoMybatisSqlArgTypeConvert{}) - if arg != "-----father------11---"{ + if arg != "-----father------11---" { t.Fatal("replaceArgFail") } fmt.Println(arg) diff --git a/SessionType.go b/SessionType.go index 5d54ceb..30d8721 100644 --- a/SessionType.go +++ b/SessionType.go @@ -3,7 +3,7 @@ package GoMybatis type SessionType = int const ( - SessionType_Default SessionType = iota + SessionType_Default SessionType = iota SessionType_Local SessionType_TransationRM SessionType_UnKnow diff --git a/SqlResultDecodeUtil_test.go b/SqlResultDecodeUtil_test.go index ddc75d0..3ed0cfc 100644 --- a/SqlResultDecodeUtil_test.go +++ b/SqlResultDecodeUtil_test.go @@ -86,7 +86,6 @@ func Test_Convert_Map(t *testing.T) { var resMapArray = make([]map[string][]byte, 0) resMapArray = append(resMapArray, resMap) - var result map[string]string var error = GoMybatisSqlResultDecoder{}.Decode(nil, resMapArray, &result) if error != nil { @@ -231,7 +230,6 @@ func Test_Decode_Interface(t *testing.T) { fmt.Println("Test_Decode_Interface", result) } - func Benchmark_Ignore_Case_Underscores(b *testing.B) { b.StopTimer() var GoMybatisSqlResultDecoder = GoMybatisSqlResultDecoder{} @@ -259,4 +257,4 @@ func Benchmark_Ignore_Case_Underscores(b *testing.B) { GoMybatisSqlResultDecoder.Decode(nil, res, &result) } -} \ No newline at end of file +} diff --git a/TransactionDefinition.go b/TransactionDefinition.go index 5f0849c..9f6e60c 100644 --- a/TransactionDefinition.go +++ b/TransactionDefinition.go @@ -7,7 +7,7 @@ type ISOLATION int //隔离级别 const ( - ISOLATION_DEFAULT ISOLATION = iota - 1 + ISOLATION_DEFAULT ISOLATION = iota - 1 ISOLATION_READ_UNCOMMITTED ISOLATION_READ_COMMITTED ISOLATION_REPEATABLE_READ @@ -16,7 +16,7 @@ const ( //传播行为 const ( - PROPAGATION_REQUIRED PROPAGATION = iota + PROPAGATION_REQUIRED PROPAGATION = iota PROPAGATION_SUPPORTS PROPAGATION_MANDATORY PROPAGATION_REQUIRES_NEW diff --git a/TransactionFactory.go b/TransactionFactory.go index a28ca04..9128911 100644 --- a/TransactionFactory.go +++ b/TransactionFactory.go @@ -41,7 +41,7 @@ func (this *TransactionFactory) Append(transactionId string, transaction Transac if transactionId == "" { return } - var old,_ = this.GetTransactionStatus(transactionId) + var old, _ = this.GetTransactionStatus(transactionId) if old != nil { this.SetTransactionStatus(transactionId, old) } diff --git a/TransactionManager.go b/TransactionManager.go index afc7ba6..4d8f516 100644 --- a/TransactionManager.go +++ b/TransactionManager.go @@ -14,7 +14,7 @@ const ( Transaction_Status_Rollback //回滚事务 ) -func (status Transaction_Status)ToString() string { +func (status Transaction_Status) ToString() string { switch status { case Transaction_Status_NO: return "Transaction_Status_NO" @@ -143,7 +143,7 @@ func (this DefaultTransationManager) DoTransaction(dto TransactionReqDTO) Transa Error: err.Error(), } } - log.Println("[TransactionManager] do transactionId=", dto.TransactionId,",sessionId=",transcationStatus.Transaction.Session.Id(),"status=",dto.Status.ToString()) + log.Println("[TransactionManager] do transactionId=", dto.TransactionId, ",sessionId=", transcationStatus.Transaction.Session.Id(), "status=", dto.Status.ToString()) if dto.Status == Transaction_Status_NO { defer transcationStatus.Flush() //关闭 @@ -205,7 +205,7 @@ func (this DefaultTransationManager) DoAction(dto TransactionReqDTO, transcation return TransactionRspDTO } if dto.ActionType == ActionType_Exec { - log.Println("[TransactionManager] TransactionId:",dto.TransactionId,",Exec:", dto.Sql) + log.Println("[TransactionManager] TransactionId:", dto.TransactionId, ",Exec:", dto.Sql) var res, e = transcationStatus.Transaction.Session.Exec(dto.Sql) var err string if e != nil { diff --git a/TransactionManager_test.go b/TransactionManager_test.go index 10c835d..9a3b0c0 100644 --- a/TransactionManager_test.go +++ b/TransactionManager_test.go @@ -1,13 +1,13 @@ package GoMybatis import ( + "errors" "fmt" _ "github.com/go-sql-driver/mysql" "github.com/zhuxiujia/GoMybatis/example" "github.com/zhuxiujia/GoMybatis/utils" "strconv" "testing" - "errors" ) var manager DefaultTransationManager @@ -31,7 +31,7 @@ func TestManager(t *testing.T) { TestPropertyServiceA: TestPropertyServiceA, TestPropertyServiceB: TestPropertyServiceB, } - err=TestOrderService.Transform(utils.CreateUUID(), "20181023162632152fd236d6877ff4", "20180926172013b85403d3715d46ed", 100) + err = TestOrderService.Transform(utils.CreateUUID(), "20181023162632152fd236d6877ff4", "20180926172013b85403d3715d46ed", 100) if err != nil { t.Fatal(err) } @@ -51,10 +51,10 @@ func (TestPropertyServiceA) Add(transactionId string, id string, amt int) error Sql: sql, } var result = manager.DoTransaction(dto) - fmt.Println(dto.TransactionId,result.Exec) + fmt.Println(dto.TransactionId, result.Exec) dto.Status = Transaction_Status_Commit rspDTO := manager.DoTransaction(dto) //commit - if rspDTO.Error!=""{ + if rspDTO.Error != "" { return errors.New(rspDTO.Error) } return nil @@ -74,10 +74,10 @@ func (TestPropertyServiceB) Reduce(transactionId string, id string, amt int) err Sql: sql, } var result = manager.DoTransaction(dto) - fmt.Println(dto.TransactionId,result.Exec) + fmt.Println(dto.TransactionId, result.Exec) dto.Status = Transaction_Status_Commit rspDTO := manager.DoTransaction(dto) //commit - if rspDTO.Error!=""{ + if rspDTO.Error != "" { return errors.New(rspDTO.Error) } return nil @@ -99,8 +99,8 @@ func (this TestOrderService) Transform(transactionId string, outid string, inId Sql: "", } rspDTO := manager.DoTransaction(dto) //开启事务 - if rspDTO.Error!=""{ - return errors.New(rspDTO.Error) + if rspDTO.Error != "" { + return errors.New(rspDTO.Error) } //事务id=2018092d6172014a2a4c8a949f1004623,已存在的事务不可提交commit,只能提交状态rollback和Pause var e1 = this.TestPropertyServiceB.Reduce(transactionId, outid, amount) @@ -109,8 +109,8 @@ func (this TestOrderService) Transform(transactionId string, outid string, inId } dto.Status = Transaction_Status_Rollback - rspDTO=manager.DoTransaction(dto) - if rspDTO.Error!=""{ + rspDTO = manager.DoTransaction(dto) + if rspDTO.Error != "" { return errors.New(rspDTO.Error) } //事务id=2018092d6172014a2a4c8a949f1004623,已存在的事务不可提交commit,只能提交状态rollback和Pause @@ -122,8 +122,8 @@ func (this TestOrderService) Transform(transactionId string, outid string, inId //manager.Rollback(transactionId) //事务id=2018092d6172014a2a4c8a949f1004623,原始事务可提交commit,rollback和Pause dto.Status = Transaction_Status_Commit - rspDTO=manager.DoTransaction(dto) - if rspDTO.Error!=""{ + rspDTO = manager.DoTransaction(dto) + if rspDTO.Error != "" { return errors.New(rspDTO.Error) } return nil diff --git a/TransationRMClient.go b/TransationRMClient.go index 1fd786c..6184b32 100644 --- a/TransationRMClient.go +++ b/TransationRMClient.go @@ -79,9 +79,9 @@ func (this *TransationRMClient) Call(arg TransactionReqDTO, result *TransactionR return error } -func (this *TransationRMClient) Close() error{ - if this.Client!=nil{ +func (this *TransationRMClient) Close() error { + if this.Client != nil { return this.Client.Close() } return nil -} \ No newline at end of file +} diff --git a/TransationRM_test.go b/TransationRM_test.go index a6034d0..84596c1 100644 --- a/TransationRM_test.go +++ b/TransationRM_test.go @@ -8,7 +8,7 @@ import ( ) func TestTransationRM(t *testing.T) { - if example.ExampleDriverName == "" || example.MysqlUri == "" || example.MysqlUri == "*" { + if example.MysqlUri == "" || example.MysqlUri == "*" { fmt.Println("no mysql config in project, you must set the mysql link!") return } diff --git a/TypeConvertAdapter.go b/TypeConvertAdapter.go index e4a1758..a491e93 100644 --- a/TypeConvertAdapter.go +++ b/TypeConvertAdapter.go @@ -28,8 +28,8 @@ type GoMybatisExpressionTypeConvert struct { //表达式类型转换器 func (this GoMybatisExpressionTypeConvert) Convert(arg SqlArg) interface{} { - if arg.Type.Kind() == reflect.Struct && arg.Type.String() == Adapter_DateType{ - return arg.Value.(time.Time).Nanosecond() + if arg.Type.Kind() == reflect.Struct && arg.Type.String() == Adapter_DateType { + return arg.Value.(time.Time).Nanosecond() } return arg.Value } @@ -61,7 +61,7 @@ func (this GoMybatisSqlArgTypeConvert) Convert(arg SqlArg) string { argStr.WriteString(`'`) return argStr.String() case reflect.Struct: - if argType.String() == Adapter_DateType{ + if argType.String() == Adapter_DateType { var argStr bytes.Buffer argStr.WriteString(`'`) argStr.WriteString(argValue.(time.Time).Format(Adapter_FormateDate)) diff --git a/TypeConvertAdapter_test.go b/TypeConvertAdapter_test.go index 3df65c2..3df9254 100644 --- a/TypeConvertAdapter_test.go +++ b/TypeConvertAdapter_test.go @@ -12,7 +12,7 @@ func Test_Adapter(t *testing.T) { Value: a, Type: reflect.TypeOf(a), }) - if convertResult != true{ + if convertResult != true { t.Fatal(`Test_Adapter fail convertResult != true`) } fmt.Println(convertResult) diff --git a/XmlLoader_test.go b/XmlLoader_test.go index e4d636f..8be610d 100644 --- a/XmlLoader_test.go +++ b/XmlLoader_test.go @@ -16,7 +16,7 @@ func Test_Load_Xml(t *testing.T) { defer file.Close() bytes, _ := ioutil.ReadAll(file) var xmlItems = LoadMapperXml(bytes) - if xmlItems==nil{ + if xmlItems == nil { t.Fatal(`Test_Load_Xml fail,LoadMapperXml "example/Example_ActivityMapper.xml"`) } fmt.Println(xmlItems) diff --git a/example/Example_config.go b/example/Example_config.go index 91e7f70..0795d3c 100644 --- a/example/Example_config.go +++ b/example/Example_config.go @@ -2,4 +2,4 @@ package example //mysql链接格式为 用户名:密码@(数据库链接地址:端口)/数据库名称 例如root:root@(127.0.0.1:3306)/test?charset=utf8&parseTime=True&loc=Local //此处请按格式填写你的mysql链接,这里用*号代替 -const MysqlUri = "*" \ No newline at end of file +const MysqlUri = "*" diff --git a/lib/github.com/Knetic/govaluate/OperatorSymbol.go b/lib/github.com/Knetic/govaluate/OperatorSymbol.go index ceb9221..4b81065 100644 --- a/lib/github.com/Knetic/govaluate/OperatorSymbol.go +++ b/lib/github.com/Knetic/govaluate/OperatorSymbol.go @@ -7,64 +7,64 @@ package govaluate type OperatorSymbol int const ( - VALUE OperatorSymbol = iota - LITERAL - NOOP - EQ - NEQ - GT - LT - GTE - LTE - REQ - NREQ - IN + VALUE OperatorSymbol = iota + LITERAL + NOOP + EQ + NEQ + GT + LT + GTE + LTE + REQ + NREQ + IN - AND - OR + AND + OR - PLUS - MINUS - BITWISE_AND - BITWISE_OR - BITWISE_XOR - BITWISE_LSHIFT - BITWISE_RSHIFT - MULTIPLY - DIVIDE - MODULUS - EXPONENT + PLUS + MINUS + BITWISE_AND + BITWISE_OR + BITWISE_XOR + BITWISE_LSHIFT + BITWISE_RSHIFT + MULTIPLY + DIVIDE + MODULUS + EXPONENT - NEGATE - INVERT - BITWISE_NOT + NEGATE + INVERT + BITWISE_NOT - TERNARY_TRUE - TERNARY_FALSE - COALESCE + TERNARY_TRUE + TERNARY_FALSE + COALESCE - FUNCTIONAL - ACCESS - SEPARATE + FUNCTIONAL + ACCESS + SEPARATE ) type operatorPrecedence int const ( - noopPrecedence operatorPrecedence = iota - valuePrecedence - functionalPrecedence - prefixPrecedence - exponentialPrecedence - additivePrecedence - bitwisePrecedence - bitwiseShiftPrecedence - multiplicativePrecedence - comparatorPrecedence - ternaryPrecedence - logicalAndPrecedence - logicalOrPrecedence - separatePrecedence + noopPrecedence operatorPrecedence = iota + valuePrecedence + functionalPrecedence + prefixPrecedence + exponentialPrecedence + additivePrecedence + bitwisePrecedence + bitwiseShiftPrecedence + multiplicativePrecedence + comparatorPrecedence + ternaryPrecedence + logicalAndPrecedence + logicalOrPrecedence + separatePrecedence ) func findOperatorPrecedenceForSymbol(symbol OperatorSymbol) operatorPrecedence { diff --git a/lib/github.com/Knetic/govaluate/TokenKind.go b/lib/github.com/Knetic/govaluate/TokenKind.go index 1be1c97..7c9516d 100644 --- a/lib/github.com/Knetic/govaluate/TokenKind.go +++ b/lib/github.com/Knetic/govaluate/TokenKind.go @@ -8,25 +8,25 @@ type TokenKind int const ( UNKNOWN TokenKind = iota - PREFIX - NUMERIC - BOOLEAN - STRING - PATTERN - TIME - VARIABLE - FUNCTION - SEPARATOR - ACCESSOR + PREFIX + NUMERIC + BOOLEAN + STRING + PATTERN + TIME + VARIABLE + FUNCTION + SEPARATOR + ACCESSOR - COMPARATOR - LOGICALOP - MODIFIER + COMPARATOR + LOGICALOP + MODIFIER - CLAUSE - CLAUSE_CLOSE + CLAUSE + CLAUSE_CLOSE - TERNARY + TERNARY ) /* diff --git a/type.go b/type.go index c989916..762e620 100644 --- a/type.go +++ b/type.go @@ -4,6 +4,7 @@ import ( "reflect" "time" ) + // !nashtsai! treat following var as interal const values, these are used for reflect.TypeOf comparison var ( c_EMPTY_STRING string diff --git a/utils/PatchUtil.go b/utils/PatchUtil.go index 19c01fb..4e39255 100644 --- a/utils/PatchUtil.go +++ b/utils/PatchUtil.go @@ -4,6 +4,7 @@ import ( "regexp" "strings" ) + //补丁:临时解决test表达式,包含<符号时etree 无法解析的问题 func FixTestExpressionSymbol(bytes *[]byte) { var byteStr = string(*bytes) @@ -17,6 +18,7 @@ func FixTestExpressionSymbol(bytes *[]byte) { } var testRegex *regexp.Regexp + func getTestRegex() *regexp.Regexp { if testRegex == nil { testRegex, _ = regexp.Compile(`test=".*<.*"`)