mysql2struct

package
v2.8.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 12, 2022 License: Apache-2.0 Imports: 8 Imported by: 0

README

import (
	"time"

	"github.com/abulo/ratel/v2/gen/mysql2struct"
	"github.com/abulo/ratel/v2/store/mysql"
	"github.com/abulo/ratel/v2/util"
)

var MySQL *mysql.ProxyPool = mysql.NewProxyPool()

func main() {
	opt := &mysql.Config{}
	opt.Username = "root"
	opt.Password = "mysql"
	opt.Host = "127.0.0.1"
	opt.Port = "3306"
	opt.Charset = "utf8mb4"
	opt.Database = "xmt"
	opt.DriverName = "mysql"
	opt.MaxLifetime = time.Duration(1) * time.Minute
	opt.MaxIdleTime = time.Duration(1) * time.Minute
	opt.MaxIdleConns = util.ToInt(64)
	opt.MaxOpenConns = util.ToInt(64)

	conn := mysql.New(opt)

	mysql2struct.MysqlToStruct(conn, "xmt", "sss", "dddd")
}

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DataTypeMap = map[string][]string{

	"TINYINT":   {"int64", "query.NullInt64"},
	"SMALLINT":  {"int64", "query.NullInt64"},
	"MEDIUMINT": {"int64", "query.NullInt64"},
	"INT":       {"int64", "query.NullInt64"},
	"INTEGER":   {"int64", "query.NullInt64"},
	"BIGINT":    {"int64", "query.NullInt64"},

	"FLOAT":   {"float64", "query.NullFloat64"},
	"DOUBLE":  {"float64", "query.NullFloat64"},
	"DECIMAL": {"float64", "query.NullFloat64"},

	"DATE":      {"time.Time", "query.NullDate"},
	"TIME":      {"time.Time", "query.NullTime"},
	"YEAR":      {"time.Time", "query.NullYear"},
	"DATETIME":  {"time.Time", "query.NullDateTime"},
	"TIMESTAMP": {"time.Time", "query.NullTime"},

	"CHAR":       {"string", "query.NullString"},
	"VARCHAR":    {"string", "query.NullString"},
	"TINYBLOB":   {"string", "query.NullString"},
	"TINYTEXT":   {"string", "query.NullString"},
	"BLOB":       {"string", "query.NullString"},
	"TEXT":       {"string", "query.NullString"},
	"MEDIUMBLOB": {"string", "query.NullString"},
	"MEDIUMTEXT": {"string", "query.NullString"},
	"LONGBLOB":   {"string", "query.NullString"},
	"LONGTEXT":   {"string", "query.NullString"},
	"JSON":       {"string", "query.NullString"},
}

Functions

func CamelStr added in v2.7.6

func CamelStr(name string) string

下划线转驼峰

func MysqlToStruct added in v2.7.6

func MysqlToStruct(db *query.QueryDb, DbName, outputDir, outputPackage string)
 db		sql链接
 DbName  数据库名称
	outputDir: "输出目录",
	outputPackage: "struct文件的包名

Types

type Column added in v2.7.6

type Column struct {
	ColumnName    string `db:"COLUMN_NAME"`
	IsNullable    string `db:"IS_NULLABLE"`
	DataType      string `db:"DATA_TYPE"`
	ColumnKey     string `db:"COLUMN_KEY"`
	ColumnComment string `db:"COLUMN_COMMENT"`
}

type Config added in v2.7.6

type Config struct {
	// Username      string `json:"username"`
	// Password      string `json:"password"`
	// Protocol      string `json:"protocol"`
	// Address       string `json:"address"`
	// Dbname        string `json:"dbname"`
	// TableName     string `json:"tableName"`
	OutputDir     string `json:"outputDir"`
	OutputPackage string `json:"outputPackage"`
}

type Table added in v2.7.6

type Table struct {
	TableName    string `db:"TABLE_NAME"`
	TableComment string `db:"TABLE_COMMENT"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL