Ai
1 Star 0 Fork 0

TimAndy/GoMybatis

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
GoMybatisSqlArgTypeConvert.go 2.19 KB
一键复制 编辑 原始数据 按行查看 历史
zxj 提交于 2019-05-27 15:50 +08:00 . fix ptr convert
package GoMybatis
import (
"bytes"
"fmt"
"time"
)
const Adapter_FormateDate = `2006-01-02 15:04:05`
//Sql内容类型转换器
type GoMybatisSqlArgTypeConvert struct {
}
//Sql内容类型转换器
func (it GoMybatisSqlArgTypeConvert) Convert(argValue interface{}) string {
if argValue == nil {
return "''"
}
switch argValue.(type) {
case string:
var argStr bytes.Buffer
argStr.WriteString(`'`)
argStr.WriteString(argValue.(string))
argStr.WriteString(`'`)
return argStr.String()
case *string:
var v = argValue.(*string)
if v == nil {
return "''"
}
var argStr bytes.Buffer
argStr.WriteString(`'`)
argStr.WriteString(*v)
argStr.WriteString(`'`)
return argStr.String()
case bool:
if argValue.(bool) {
return "true"
} else {
return "false"
}
case *bool:
var v = argValue.(*bool)
if v == nil {
return "''"
}
if *v {
return "true"
} else {
return "false"
}
case time.Time:
var argStr bytes.Buffer
argStr.WriteString(`'`)
argStr.WriteString(argValue.(time.Time).Format(Adapter_FormateDate))
argStr.WriteString(`'`)
return argStr.String()
case *time.Time:
var timePtr = argValue.(*time.Time)
if timePtr == nil {
return "''"
}
var argStr bytes.Buffer
argStr.WriteString(`'`)
argStr.WriteString(timePtr.Format(Adapter_FormateDate))
argStr.WriteString(`'`)
return argStr.String()
case int, int16, int32, int64, float32, float64:
return fmt.Sprint(argValue)
case *int:
var v = argValue.(*int)
if v == nil {
return ""
}
return fmt.Sprint(*v)
case *int16:
var v = argValue.(*int16)
if v == nil {
return ""
}
return fmt.Sprint(*v)
case *int32:
var v = argValue.(*int32)
if v == nil {
return ""
}
return fmt.Sprint(*v)
case *int64:
var v = argValue.(*int64)
if v == nil {
return ""
}
return fmt.Sprint(*v)
case *float32:
var v = argValue.(*float32)
if v == nil {
return ""
}
return fmt.Sprint(*v)
case *float64:
var v = argValue.(*float64)
if v == nil {
return ""
}
return fmt.Sprint(*v)
}
return it.toString(argValue)
}
func (it GoMybatisSqlArgTypeConvert) toString(argValue interface{}) string {
if argValue == nil {
return ""
}
return fmt.Sprint(argValue)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/timandy/GoMybatis.git
git@gitee.com:timandy/GoMybatis.git
timandy
GoMybatis
GoMybatis
master

搜索帮助