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 ¶
This section is empty.
Types ¶
type BaseParseDDL ¶
type BaseParseDDL struct { }
BaseParseDDL IParseDDL 接口抽象实现
func (*BaseParseDDL) CovertSyntax ¶
func (a *BaseParseDDL) CovertSyntax(info *ObjInfo)
func (*BaseParseDDL) DoParse ¶
func (a *BaseParseDDL) DoParse(target string, sqlTextArr []string, args map[string]interface{})
DoParse 定义了整个解析、生成的流程
func (*BaseParseDDL) ParseDDL ¶
func (a *BaseParseDDL) ParseDDL(sqlText string, args map[string]interface{}) (*ObjInfo, error)
func (*BaseParseDDL) RenderData ¶
func (a *BaseParseDDL) RenderData(info *ObjInfo)
type FieldInfo ¶
type FieldInfo struct { ColumnName string // 列名 ColumnType string // 列类型 FieldName string // 字段名 FieldType string // 字段类型 FieldComment string // 字段的注释 }
FieldInfo 字段信息
type GoStructRenderData ¶
type GoStructRenderData struct { *BaseParseDDL // 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 { *BaseParseDDL 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 {
*BaseParseDDL
}
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.