autoGen

package module
v0.0.0-...-b9e3c63 Latest Latest
Warning

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

Go to latest
Published: Jun 6, 2024 License: MIT Imports: 7 Imported by: 0

README

Kratos-AutoGen

项目概览

Kratos-AutoGen 是一款基于 gorm.io/gen 扩展的高效自动化代码生成工具,专为简化Kratos框架下的GORM实体管理和数据访问层开发而生。 它旨在通过自动生成一系列标准化组件,显著加速开发流程,具体涵盖:

  • 实体模型构造:依据数据库表结构,智能生成对应的Go语言实体模型。
  • 数据访问层(DAO):自动生成用于数据库操作的函数,实现增、删、改、查功能,无缝对接数据库。
  • 业务接口定义:为业务逻辑层提供预定义的接口,促进代码模块化及高内聚低耦合的实践,便于业务调用。

此工具极大减少了开发人员在基础数据处理逻辑上的时间投入,使团队能更聚焦于业务逻辑的创新与优化。

快速上手

开始您的首次使用之旅,请遵循以下步骤:

  1. 查看示例代码:首先,浏览examples/main.go文件。此文件不仅展示了如何配置工具,还演示了如何触发代码自动生成。
  2. 理解代码结构:生成的代码位于app/*目录下,作为示例输出。这一部分自动创建的代码直观反映了数据模型、数据访问层及业务接口的组织方式。仔细审查这些文件,可帮助您快速掌握生成代码的布局与逻辑。 通过这两个简单步骤,您将能够快速启动并运行Kratos-AutoGen,进而有效利用其自动化功能,加速您的开发进程。

使用须知

  • 数据库支持:当前版本仅支持MySQL数据库。对于其他数据库类型的支持,将在后续版本中考虑。
  • 定制化需求:生成的CRUD代码适用于常见场景,若需特殊功能,您可以自定义修改提供的模板。
  • 前提条件:在执行代码生成之前,请确保指定的InterfacePath文件已存在,否则可能导致错误。

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AutoGenerateCRUD

func AutoGenerateCRUD(structName, tableName string, autoArg AutoCodeStruct) error

AutoGenerateCRUD 自动构建数据表对应增删改查函数

Types

type AutoCodeStruct

type AutoCodeStruct struct {
	StructName       string   `json:"structName"`       // Struct名称
	TableName        string   `json:"tableName"`        // 表名
	HumpPackageName  string   `json:"humpPackageName"`  // 驼峰文件名称
	Abbreviation     string   `json:"abbreviation"`     // Struct简称
	AutoMoveFile     bool     `json:"autoMoveFile"`     // 是否自动移动文件
	AutoMoveFilePath string   `json:"autoMoveFilePath"` // 自动移动文件路径
	Fields           []*Field `json:"fields"`
	Package          string   `json:"package"`       // 文件包名
	Module           string   `json:"module"`        // 项目模块名
	ServerName       string   `json:"serverName"`    // 服务名
	InterfacePath    string   `json:"interfacePath"` //	interface文件目录
}

type Field

type Field struct {
	FieldName string `json:"fieldName"` // Field名
	FieldDesc string `json:"fieldDesc"` // 中文名

	FieldType       string `json:"fieldType"`       // Field数据类型
	FieldJson       string `json:"fieldJson"`       // FieldJson
	DataTypeLong    string `json:"dataTypeLong"`    // 数据库字段长度
	Comment         string `json:"comment"`         // 数据库字段描述
	ColumnName      string `json:"columnName"`      // 数据库字段
	FieldSearchType string `json:"fieldSearchType"` // 搜索条件
	DictType        string `json:"dictType"`        // 字典
}

type SysAutoCode

type SysAutoCode struct {
	PackageName string `json:"packageName" gorm:"comment:包名"`
	Label       string `json:"label" gorm:"comment:展示名"`
	Desc        string `json:"desc" gorm:"comment:描述"`
}

Jump to

Keyboard shortcuts

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