codegen

package
v0.2.48 Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2026 License: MulanPSL-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Run

func Run(modelFile, outputDir string) error

Run 简单入口,只需传入模型文件和输出目录

func RunWithTemplateDir

func RunWithTemplateDir(modelFile, outputDir, templateDir string) error

RunWithTemplateDir 带自定义模板目录的入口

Types

type Field

type Field struct {
	Name     string // 字段名
	Type     string // 类型
	JsonName string // json标签名
	Comment  string // 注释
}

Field 字段信息

type Generator

type Generator struct {
	OutputDir   string // 输出目录
	TemplateDir string // 自定义模板目录(可选,为空则使用内嵌模板)
}

Generator 代码生成器

func NewGenerator

func NewGenerator(outputDir string) *Generator

NewGenerator 创建生成器

func (*Generator) Generate

func (g *Generator) Generate(info *ModelInfo) error

Generate 生成所有代码

func (*Generator) GenerateController

func (g *Generator) GenerateController(info *ModelInfo) error

GenerateController 仅生成 Controller

func (*Generator) GenerateDTO

func (g *Generator) GenerateDTO(info *ModelInfo) error

GenerateDTO 仅生成 DTO

func (*Generator) GenerateFromFile

func (g *Generator) GenerateFromFile(modelFile string) error

GenerateFromFile 从模型文件生成代码

func (*Generator) GenerateRepository

func (g *Generator) GenerateRepository(info *ModelInfo) error

GenerateRepository 仅生成 Repository

func (*Generator) GenerateService

func (g *Generator) GenerateService(info *ModelInfo) error

GenerateService 仅生成 Service

func (*Generator) WithTemplateDir

func (g *Generator) WithTemplateDir(dir string) *Generator

WithTemplateDir 设置自定义模板目录

type ModelInfo

type ModelInfo struct {
	ModuleName     string  // 模块名(从go.mod获取)
	PackageName    string  // 包名
	ModelName      string  // 模型名称 如 Dictionary
	ModelNameLower string  // 小写开头 如 dictionary
	TableName      string  // 表名
	Fields         []Field // 字段列表
	PrimaryKey     string  // 主键字段名
	PrimaryKeyType string  // 主键类型
}

ModelInfo 模型信息

func ParseModelFile

func ParseModelFile(filename string) (*ModelInfo, error)

ParseModelFile 解析模型文件

Jump to

Keyboard shortcuts

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