Documentation ¶
Overview ¶
Package mysql 实现了mysql的数据库方言Dialect,支持mysql 5.6+ 对应数据库 驱动为github.com/go-sql-driver/mysql 数据源Source使用BaseSource来简化实现, 对github.com/go-sql-driver/mysql 驱动进行包装.对于数据库配置,需要和Config一致 表Table使用BaseTable来简化实现,也是基于github.com/go-sql-driver/mysql的 封装,Table实现了FieldAdder的方式去获取列,在ExecParameter中实现写入模式为 replace的repalce into批量数据处理模式,写入模式为insert的插入模式复用 已有的database.InsertParam 列Field使用BaseField来简化实现,其中FieldType采用了原来的sql.ColumnType, 并实现了ValuerGoType 扫描器Scanner使用BaseScanner来简化实现 赋值器Valuer 使用了GoValuer的实现方式
Index ¶
Constants ¶
const WriteModeReplace = "replace"
WriteModeReplace replace into 写入方式
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config struct { URL string `json:"url"` //数据库url,包含数据库地址,数据库其他参数 Username string `json:"username"` //用户名 Password string `json:"password"` //密码 }
Config mysql配置,读入的时间都需要解析即parseTime=true
type FieldType ¶
type FieldType struct { *database.BaseFieldType // contains filtered or unexported fields }
FieldType 字段类型
type ReplaceParam ¶
ReplaceParam Replace into 参数
func NewReplaceParam ¶
func NewReplaceParam(t database.Table, txOpts *sql.TxOptions) *ReplaceParam
NewReplaceParam 通过表table和事务参数txOpts插入参数
type Scanner ¶
type Scanner struct { database.BaseScanner // contains filtered or unexported fields }
Scanner 扫描器
func (*Scanner) Scan ¶
Scan 根据列类型读取数据 "MEDIUMINT", "INT", "BIGINT", "SMALLINT", "TINYINT", "YEAR"作为整形处理 "DOUBLE", "FLOAT", "DECIMAL"作为高精度实数处理 "DATE", "DATETIME", "TIMESTAMP" 作为时间处理 "TEXT", "LONGTEXT", "MEDIUMTEXT", "TINYTEXT", "CHAR", "VARCHAR", "TIME"作为字符串处理 "BLOB", "LONGBLOB", "MEDIUMBLOB", "BINARY", "TINYBLOB", "VARBINARY"作为字节流处理
type Source ¶
type Source struct { *database.BaseSource //基础数据源 // contains filtered or unexported fields }
Source mysql数据源
func (*Source) ConnectName ¶
ConnectName github.com/go-sql-driver/mysql的数据源连接信息
func (*Source) DriverName ¶
DriverName github.com/go-sql-driver/mysql的驱动名