From a788f011a54fa01d5adb7436965c751a717b6cba Mon Sep 17 00:00:00 2001 From: zhuxiujia Date: Tue, 2 Jun 2020 19:14:15 +0800 Subject: [PATCH] remove sql type convert --- GoMybatisEngine.go | 8 +------- GoMybatisSqlBuilder.go | 10 ++-------- GoMybatisSqlBuilder_test.go | 10 +++++----- SqlBuilder.go | 1 - SqlEngine.go | 3 --- ast/NodeConfigHolder.go | 8 +------- ast/NodeString.go | 2 +- ast/RegexReplaceArg.go | 2 +- 8 files changed, 11 insertions(+), 33 deletions(-) diff --git a/GoMybatisEngine.go b/GoMybatisEngine.go index 41b5c7c..4a7aa9b 100644 --- a/GoMybatisEngine.go +++ b/GoMybatisEngine.go @@ -57,7 +57,7 @@ func (it GoMybatisEngine) New() GoMybatisEngine { if it.sqlBuilder == nil { var expressionEngineProxy = ExpressionEngineProxy{}.New(it.ExpressionEngine(), true) - var builder = GoMybatisSqlBuilder{}.New(it.SqlArgTypeConvert(), expressionEngineProxy, it.Log(), it.LogEnable()) + var builder = GoMybatisSqlBuilder{}.New(expressionEngineProxy, it.Log(), it.LogEnable()) it.sqlBuilder = &builder } @@ -140,12 +140,6 @@ func (it *GoMybatisEngine) SetSessionFactory(factory *SessionFactory) { it.sessionFactory = factory } -//sql类型转换器 -func (it *GoMybatisEngine) SqlArgTypeConvert() ast.SqlArgTypeConvert { - it.initCheck() - return it.sqlArgTypeConvert -} - //设置sql类型转换器 func (it *GoMybatisEngine) SetSqlArgTypeConvert(convert ast.SqlArgTypeConvert) { it.initCheck() diff --git a/GoMybatisSqlBuilder.go b/GoMybatisSqlBuilder.go index 92b1cf7..54eedb9 100644 --- a/GoMybatisSqlBuilder.go +++ b/GoMybatisSqlBuilder.go @@ -6,7 +6,6 @@ import ( ) type GoMybatisSqlBuilder struct { - sqlArgTypeConvert ast.SqlArgTypeConvert expressionEngineProxy ExpressionEngineProxy enableLog bool nodeParser ast.NodeParser @@ -15,18 +14,13 @@ type GoMybatisSqlBuilder struct { func (it *GoMybatisSqlBuilder) ExpressionEngineProxy() *ExpressionEngineProxy { return &it.expressionEngineProxy } -func (it *GoMybatisSqlBuilder) SqlArgTypeConvert() ast.SqlArgTypeConvert { - return it.sqlArgTypeConvert -} -func (it GoMybatisSqlBuilder) New(SqlArgTypeConvert ast.SqlArgTypeConvert, expressionEngine ExpressionEngineProxy, log Log, enableLog bool) GoMybatisSqlBuilder { - it.sqlArgTypeConvert = SqlArgTypeConvert +func (it GoMybatisSqlBuilder) New(expressionEngine ExpressionEngineProxy, log Log, enableLog bool) GoMybatisSqlBuilder { it.expressionEngineProxy = expressionEngine it.enableLog = enableLog it.nodeParser = ast.NodeParser{ Holder: ast.NodeConfigHolder{ - Convert: SqlArgTypeConvert, - Proxy: &expressionEngine, + Proxy: &expressionEngine, }, } return it diff --git a/GoMybatisSqlBuilder_test.go b/GoMybatisSqlBuilder_test.go index 5fcbd14..56315ec 100644 --- a/GoMybatisSqlBuilder_test.go +++ b/GoMybatisSqlBuilder_test.go @@ -36,7 +36,7 @@ func Benchmark_SqlBuilder(b *testing.B) { ` - var builder = GoMybatisSqlBuilder{}.New(GoMybatisSqlArgTypeConvert{}, ExpressionEngineProxy{}.New(&engines.ExpressionEngineGoExpress{}, true), &LogStandard{}, false) + var builder = GoMybatisSqlBuilder{}.New(ExpressionEngineProxy{}.New(&engines.ExpressionEngineGoExpress{}, true), &LogStandard{}, false) var mapperTree = LoadMapperXml([]byte(mapper)) var nodes = builder.nodeParser.Parser(mapperTree["selectByCondition"].(*etree.Element).Child) @@ -95,7 +95,7 @@ func Test_SqlBuilder_Tps(t *testing.T) { ` var mapperTree = LoadMapperXml([]byte(mapper)) - var builder = GoMybatisSqlBuilder{}.New(GoMybatisSqlArgTypeConvert{}, ExpressionEngineProxy{}.New(&engines.ExpressionEngineGoExpress{}, true), &LogStandard{}, false) + var builder = GoMybatisSqlBuilder{}.New(ExpressionEngineProxy{}.New(&engines.ExpressionEngineGoExpress{}, true), &LogStandard{}, false) var paramMap = make(map[string]interface{}) paramMap["name"] = "" paramMap["startTime"] = "" @@ -194,7 +194,7 @@ func TestGoMybatisSqlBuilder_BuildSql(t *testing.T) { ` var mapperTree = LoadMapperXml([]byte(mapper)) - var builder = GoMybatisSqlBuilder{}.New(GoMybatisSqlArgTypeConvert{}, ExpressionEngineProxy{}.New(&engines.ExpressionEngineGoExpress{}, true), &LogStandard{}, true) + var builder = GoMybatisSqlBuilder{}.New(ExpressionEngineProxy{}.New(&engines.ExpressionEngineGoExpress{}, true), &LogStandard{}, true) var nodes = builder.nodeParser.Parser(mapperTree["selectByCondition"].(*etree.Element).Child) var paramMap = make(map[string]interface{}) @@ -244,7 +244,7 @@ func Benchmark_SqlBuilder_If_Element(b *testing.B) { ` var mapperTree = LoadMapperXml([]byte(mapper)) - var builder = GoMybatisSqlBuilder{}.New(GoMybatisSqlArgTypeConvert{}, ExpressionEngineProxy{}.New(&engines.ExpressionEngineGoExpress{}, true), &LogStandard{}, false) + var builder = GoMybatisSqlBuilder{}.New(ExpressionEngineProxy{}.New(&engines.ExpressionEngineGoExpress{}, true), &LogStandard{}, false) var nodes = builder.nodeParser.Parser(mapperTree["selectByCondition"].(*etree.Element).Child) var paramMap = make(map[string]interface{}) @@ -304,7 +304,7 @@ func Benchmark_SqlBuilder_Nested(b *testing.B) { ` var mapperTree = LoadMapperXml([]byte(mapper)) - var builder = GoMybatisSqlBuilder{}.New(GoMybatisSqlArgTypeConvert{}, ExpressionEngineProxy{}.New(&engines.ExpressionEngineGoExpress{}, true), &LogStandard{}, false) + var builder = GoMybatisSqlBuilder{}.New(ExpressionEngineProxy{}.New(&engines.ExpressionEngineGoExpress{}, true), &LogStandard{}, false) var nodes = builder.nodeParser.Parser(mapperTree["selectByCondition"].(*etree.Element).Child) var paramMap = make(map[string]interface{}) diff --git a/SqlBuilder.go b/SqlBuilder.go index 8c4952b..d06fcab 100644 --- a/SqlBuilder.go +++ b/SqlBuilder.go @@ -9,7 +9,6 @@ import ( type SqlBuilder interface { BuildSql(paramMap map[string]interface{}, nodes []ast.Node, arg_array *[]interface{}, stmtConvert stmt.StmtIndexConvert) (string, error) ExpressionEngineProxy() *ExpressionEngineProxy - SqlArgTypeConvert() ast.SqlArgTypeConvert SetEnableLog(enable bool) EnableLog() bool NodeParser() ast.NodeParser diff --git a/SqlEngine.go b/SqlEngine.go index 1452132..3621209 100644 --- a/SqlEngine.go +++ b/SqlEngine.go @@ -61,9 +61,6 @@ type SessionEngine interface { //设置session工厂 SetSessionFactory(factory *SessionFactory) - //sql类型转换器 - SqlArgTypeConvert() ast.SqlArgTypeConvert - //设置sql类型转换器 SetSqlArgTypeConvert(convert ast.SqlArgTypeConvert) diff --git a/ast/NodeConfigHolder.go b/ast/NodeConfigHolder.go index 0f36a2f..c405393 100644 --- a/ast/NodeConfigHolder.go +++ b/ast/NodeConfigHolder.go @@ -1,13 +1,7 @@ package ast - type NodeConfigHolder struct { - Convert SqlArgTypeConvert - Proxy ExpressionEngine -} - -func (it *NodeConfigHolder) GetSqlArgTypeConvert() SqlArgTypeConvert { - return it.Convert + Proxy ExpressionEngine } func (it *NodeConfigHolder) GetExpressionEngineProxy() ExpressionEngine { diff --git a/ast/NodeString.go b/ast/NodeString.go index 85c453c..8ee77ce 100644 --- a/ast/NodeString.go +++ b/ast/NodeString.go @@ -25,7 +25,7 @@ func (it *NodeString) Eval(env map[string]interface{}, arg_array *[]interface{}, var data = it.value var err error if it.expressMap != nil { - data, err = Replace(it.expressMap, data, it.holder.Convert, env, it.holder.GetExpressionEngineProxy(), arg_array, stmtConvert) + data, err = Replace(it.expressMap, data, env, it.holder.GetExpressionEngineProxy(), arg_array, stmtConvert) if err != nil { return nil, err } diff --git a/ast/RegexReplaceArg.go b/ast/RegexReplaceArg.go index 3bd207f..c812a35 100644 --- a/ast/RegexReplaceArg.go +++ b/ast/RegexReplaceArg.go @@ -9,7 +9,7 @@ import ( ) //执行替换操作 -func Replace(findStrs []string, data string, typeConvert SqlArgTypeConvert, arg map[string]interface{}, engine ExpressionEngine, arg_array *[]interface{}, indexConvert stmt.StmtIndexConvert) (string, error) { +func Replace(findStrs []string, data string, arg map[string]interface{}, engine ExpressionEngine, arg_array *[]interface{}, indexConvert stmt.StmtIndexConvert) (string, error) { for index, findStr := range findStrs { //find param arg