Documentation ¶
Index ¶
Constants ¶
View Source
const ( //生成文件所在的目录 GENERATE_DIR = `./lwe-generate-file` //生成JAVA文件名 GENERATE_JAVA_FILENAME = "%s.java" //生成Go文件名 GENERATE_GO_FILENAME = "lwe_struct.go" //go模板头内容 GO_TPL_HEAD = `package lwe import ("time")` )
定义sql所用的常量
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AbstractParseDDL ¶
type AbstractParseDDL struct { }
AbstractParseDDL IParseDDL 接口抽象实现
func (AbstractParseDDL) CovertSyntax ¶
func (a AbstractParseDDL) CovertSyntax(info *ObjInfo)
func (AbstractParseDDL) ParseDDL ¶
func (a AbstractParseDDL) ParseDDL(sqlText string, args map[string]interface{}) (*ObjInfo, error)
func (AbstractParseDDL) RenderData ¶
func (a AbstractParseDDL) RenderData(info *ObjInfo)
type FieldInfo ¶
type FieldInfo struct { ColumnName string // 列名 ColumnType string // 列类型 FieldName string // 字段名 FieldType string // 字段类型 FieldComment string // 字段的注释 }
FieldInfo 字段信息
type GoStructRenderData ¶
type GoStructRenderData struct { AbstractParseDDL // contains filtered or unexported fields }
func NewGoStructRenderData ¶
func NewGoStructRenderData() *GoStructRenderData
func (*GoStructRenderData) CovertSyntax ¶
func (g *GoStructRenderData) CovertSyntax(objInfos []*ObjInfo)
func (*GoStructRenderData) RenderData ¶
func (g *GoStructRenderData) RenderData(objInfos []*ObjInfo)
type IParseDDL ¶
type IParseDDL interface { // ParseDDL 解析DDL文本 //args 命令行传入的参数,如:注释中的author字段 ParseDDL(sqlText string, args map[string]interface{}) (*ObjInfo, error) // CovertSyntax 转换到不同语言的字段类型 // 比如sql中int对应到Java中的Integer,对应到go中的int32等 CovertSyntax(info []*ObjInfo) // RenderData 根据模版渲染数据 RenderData(info []*ObjInfo) }
IParseDDL 解析生成目标文件的核心接口
type JavaRenderData ¶
type JavaRenderData struct { AbstractParseDDL JavaTpl *template.Template }
func NewJavaRenderData ¶
func NewJavaRenderData() *JavaRenderData
func (*JavaRenderData) CovertSyntax ¶
func (m *JavaRenderData) CovertSyntax(objInfos []*ObjInfo)
func (*JavaRenderData) RenderData ¶
func (m *JavaRenderData) RenderData(objInfos []*ObjInfo)
type JsonRenderData ¶
type JsonRenderData struct {
AbstractParseDDL
}
func NewJsonRenderData ¶
func NewJsonRenderData() *JsonRenderData
func (*JsonRenderData) CovertSyntax ¶
func (j *JsonRenderData) CovertSyntax(objInfos []*ObjInfo)
func (*JsonRenderData) RenderData ¶
func (j *JsonRenderData) RenderData(objInfos []*ObjInfo)
Click to show internal directories.
Click to hide internal directories.