代码拉取完成,页面将自动刷新
NutGender是一个快速代码生成工具,使用简单的配置即可生成多数据库、种子数据、以及基础的增删改查和复杂查询等,可以快速构建API应用。
本工具使用控制台接入,全部过程只需要对JSON配置文件进行简单配置以及几行导入代码,即可生成数据库、种子数据、相关映射类,以及MVC的相关代码。使得初始数据环境可以快速的搭建,并且更方便地在不同机器和环境中移动。
dotnet add package NutGender --version 1.0.1.7
<PackageReference Include="NutGender" Version="1.0.1.7" />
public static void Main(string[] args)
{
GenderLoadler.Instance.InitConfiguration(); //初始化配置文件
GenderLoadler.Instance.CreateTableAndSeed();//创建表及相应种子数据
GenderLoadler.Instance.CreateCSharpCodeAll(); //创建C#代码
Console.WriteLine("按任意键继续...");
Console.ReadLine();
}
{
//数据库类型
"SQLType": "mysql",
//连接字符串(不带数据库名)
"ConnectionString": "[你的数据库连接]",
//数据库名
"Schema": "[数据库名]",
//生成代码配置
"Code": {
//代码命名空间
"Namespace": "Site",
//模型映射路径
"ModelPath": "D:\\我的其它项目\\官网\\api\\OfficialWebstite\\Site.Core\\Models",
//DAL层代码导出路径
"StoragePath": "D:\\我的其它项目\\官网\\api\\OfficialWebstite\\Site.Storages\\Mappers",
//服务层代码导出路径
"ServicePath": "D:\\我的其它项目\\官网\\api\\OfficialWebstite\\Site.Services",
//MVC层代码导出路径
"ControllerPath": "D:\\我的其它项目\\官网\\api\\OfficialWebstite\\Site.API\\Controllers",
//自定义查询生成类(VO)路径
"ViewPath": "D:\\我的其它项目\\官网\\api\\OfficialWebstite\\Site.Core\\Views",
//公共类生成路径
"CommonPath": "D:\\我的其它项目\\官网\\api\\OfficialWebstite\\Site.Core\\Common"
},
"Temlates": {
"StorageTemp": "", //数据访问模板
"ServiceTemp": "", //服务接口模板
"ServiceImplTemp": "", //服务引用模板
"ControllerTemp": "D:\\Controller2.txt" //接口模板
},
//所有表
"Tables": [
//用户表
"./TUser.json",
//部门表
{
//表中文名
"CnName": "部门表",
//表英文名
"EnName": "TDept",
//字段
"Fields": [
{
"CnName": "主键",
"EnName": "Id",
"DbType": "bigint",
"isPrimary": true
},
{
"CnName": "部门名",
"EnName": "Name",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "创建时间",
"EnName": "CreateDate",
"DbType": "DateTime",
"isPrimary": false
}
],
//自定义查询接口
"CustomQuery": [
{
"EnName": "SelectDict",
"CnName": "查询字典",
"Sql": "SELECT Name as Value,Id as Label From TDept;"
}
],
//种子数据
"Seeds": {
"Keys": "Name,CreateDate",
"Vals": [
"'信息部',now()",
"'业务部',now()"
]
}
},
//公司表
{
//表中文名
"CnName": "公司表",
//表英文名
"EnName": "TCompany",
//字段
"Fields": [
{
"CnName": "主键",
"EnName": "Id",
"DbType": "bigint",
"isPrimary": true
},
{
"CnName": "公司名称",
"EnName": "Name",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "公司简称",
"EnName": "ShotName",
"isPrimary": false
},
{
"CnName": "公司简介",
"EnName": "Detail",
"DbType": "VARCHAR(8000)",
"isPrimary": false
},
{
"CnName": "联系方式",
"EnName": "Contract",
"DbType": "VARCHAR(16)",
"isPrimary": false
},
{
"CnName": "公司邮箱",
"EnName": "Mail",
"DbType": "VARCHAR(20)",
"isPrimary": false
},
{
"CnName": "位置图片",
"EnName": "LocationImg",
"DbType": "VARCHAR(200)",
"isPrimary": false
},
{
"CnName": "Logo图",
"EnName": "Logo",
"DbType": "VARCHAR(200)",
"isPrimary": false
},
{
"CnName": "创建时间",
"EnName": "CreateDate",
"DbType": "DateTime",
"isPrimary": false
}
],
//自定义查询接口
"CustomQuery": [
{
"EnName": "SelectDict",
"CnName": "查询字典",
"Sql": "SELECT Name as Value,Id as Label From TDept;"
},
{
"EnName": "QueryOneById",
"CnName": "查询单个",
"Sql": "SELECT * From TCompany Where Id = @Id;"
}
],
//种子数据
"Seeds": {
"Keys": "Name,CreateDate",
"Vals": [
"'信息部',now()",
"'业务部',now()"
]
}
},
//菜单表
{
//表中文名
"CnName": "菜单表",
//表英文名
"EnName": "TMenu",
//字段
"Fields": [
{
"CnName": "主键",
"EnName": "Id",
"DbType": "bigint",
"isPrimary": true
},
{
"CnName": "菜单名",
"EnName": "Name",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "路径",
"EnName": "Path",
"DbType": "VARCHAR(50)",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "MetaTitle",
"EnName": "MetaTitle",
"DbType": "VARCHAR(20)",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "图标",
"EnName": "MetaIcon",
"DbType": "VARCHAR(50)",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "Vue对应组件",
"EnName": "Component",
"DbType": "VARCHAR(100)",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "上级菜单Id",
"EnName": "ParentId",
"DbType": "bigint",
"isPrimary": false
},
{
"CnName": "创建时间",
"EnName": "CreateDate",
"DbType": "DateTime",
"isPrimary": false
}
],
//种子数据
"Seeds": {
"Keys": "Name,Path,MetaTitle,MetaIcon,Component,ParentId,CreateDate",
"Vals": [
"'dashboard','dashboard','欢迎','el-icon-Orange','dashboard',0,now()",
"'m2','/companies','公司设置','el-icon-Avatar','companies',0,now()",
"'m3','/products','产品管理','el-icon-Van','products',0,now()",
"'m4','/friendLink','友情链接','el-icon-Clock','friendLink',0,now()",
"'m5','/successed','案例设置','el-icon-TrendCharts','successed',0,now()",
"'m6','/qualif','资质设置','el-icon-ShoppingCartFull','qualif',0,now()",
"'m7','/recruit','招聘管理','el-icon-Setting','recruit',0,now()",
"'m8','/systems','系统设置','el-icon-Ship','systems',0,now()",
"'productstype','/products/types','产品类别','el-icon-Ship','products/types',0,now()",
"'productslist','/products/list','产品列表','el-icon-Bicycle','products/list',0,now()"
]
}
},
//友情连接表
{
//表中文名
"CnName": "友情连接表",
//表英文名
"EnName": "TFriendLink",
//字段
"Fields": [
{
"CnName": "主键",
"EnName": "Id",
"DbType": "bigint",
"isPrimary": true
},
{
"CnName": "所属公司Id",
"EnName": "CompanyId",
"DbType": "bigint",
"isPrimary": false
},
{
"CnName": "连接名",
"EnName": "Name",
"DbType": "VARCHAR(10)",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "连接地址",
"EnName": "LinkUrl",
"DbType": "VARCHAR(500)",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "类型",
"EnName": "Type",
"DbType": "int",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "创建时间",
"EnName": "CreateDate",
"DbType": "DateTime",
"isPrimary": false
}
],
//自定义查询接口
"CustomQuery": [
{
"EnName": "SelectDict",
"CnName": "查询字典",
"Sql": "SELECT Name as Value,Id as Label From TDept;"
}
]
},
//日志表
{
//表中文名
"CnName": "友情连接表",
//表英文名
"EnName": "TFriendLink",
//字段
"Fields": [
{
"CnName": "主键",
"EnName": "Id",
"DbType": "bigint",
"isPrimary": true
},
{
"CnName": "消息",
"EnName": "Message",
"DbType": "VARCHAR(300)",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "源",
"EnName": "Source",
"DbType": "VARCHAR(300)",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "级别",
"EnName": "Level",
"DbType": "VARCHAR(30)",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "创建时间",
"EnName": "CreateDate",
"DbType": "DateTime",
"isPrimary": false
}
]
},
//产品类别表
{
//表中文名
"CnName": "产品类别表",
//表英文名
"EnName": "TProductType",
//字段
"Fields": [
{
"CnName": "主键",
"EnName": "Id",
"DbType": "bigint",
"isPrimary": true
},
{
"CnName": "所属公司Id",
"EnName": "CompanyId",
"DbType": "bigint",
"isPrimary": false
},
{
"CnName": "产品类别名",
"EnName": "Name",
"DbType": "VARCHAR(20)",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "产品类别描述",
"EnName": "Detail",
"DbType": "VARCHAR(20)",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "创建时间",
"EnName": "CreateDate",
"DbType": "DateTime",
"isPrimary": false
}
]
},
//产品表
{
//表中文名
"CnName": "产品表",
//表英文名
"EnName": "TProductType",
//字段
"Fields": [
{
"CnName": "主键",
"EnName": "Id",
"DbType": "bigint",
"isPrimary": true
},
{
"CnName": "所属公司Id",
"EnName": "CompanyId",
"DbType": "bigint",
"isPrimary": false
},
{
"CnName": "产品类别Id",
"EnName": "TypeId",
"DbType": "bigint",
"isPrimary": false
},
{
"CnName": "产品名",
"EnName": "Name",
"DbType": "VARCHAR(20)",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "产品描述",
"EnName": "Detail",
"DbType": "VARCHAR(200)",
"isPrimary": false
},
{
"CnName": "图片1",
"EnName": "ImgUrl1",
"DbType": "VARCHAR(200)",
"isPrimary": false
},
{
"CnName": "图片2",
"EnName": "ImgUrl2",
"DbType": "VARCHAR(200)",
"isPrimary": false
},
{
"CnName": "创建时间",
"EnName": "CreateDate",
"DbType": "DateTime",
"isPrimary": false
}
]
},
//新闻表
{
//表中文名
"CnName": "新闻表",
//表英文名
"EnName": "TNews",
//字段
"Fields": [
{
"CnName": "主键",
"EnName": "Id",
"DbType": "bigint",
"isPrimary": true
},
{
"CnName": "所属公司Id",
"EnName": "CompanyId",
"DbType": "bigint",
"isPrimary": false
},
{
"CnName": "新闻标题",
"EnName": "Title",
"DbType": "VARCHAR(20)",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "新闻内容",
"EnName": "Content",
"DbType": "VARCHAR(500)",
"isPrimary": false
},
{
"CnName": "图片",
"EnName": "ImgUrl",
"DbType": "VARCHAR(200)",
"isPrimary": false
},
{
"CnName": "创建时间",
"EnName": "CreateDate",
"DbType": "DateTime",
"isPrimary": false
}
]
},
//资质表
{
//表中文名
"CnName": "资质表",
//表英文名
"EnName": "TQualif",
//字段
"Fields": [
{
"CnName": "主键",
"EnName": "Id",
"DbType": "bigint",
"isPrimary": true
},
{
"CnName": "所属公司Id",
"EnName": "CompanyId",
"DbType": "bigint",
"isPrimary": false
},
{
"CnName": "资质名称",
"EnName": "Name",
"DbType": "VARCHAR(20)",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "资质详情",
"EnName": "Detail",
"DbType": "VARCHAR(500)",
"isPrimary": false
},
{
"CnName": "图片",
"EnName": "ImgUrl",
"DbType": "VARCHAR(200)",
"isPrimary": false
},
{
"CnName": "创建时间",
"EnName": "CreateDate",
"DbType": "DateTime",
"isPrimary": false
}
]
},
//招聘表
{
//表中文名
"CnName": "招聘表",
//表英文名
"EnName": "TRecruit",
//字段
"Fields": [
{
"CnName": "主键",
"EnName": "Id",
"DbType": "bigint",
"isPrimary": true
},
{
"CnName": "所属公司Id",
"EnName": "CompanyId",
"DbType": "bigint",
"isPrimary": false
},
{
"CnName": "招聘标题",
"EnName": "Title",
"DbType": "VARCHAR(20)",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "招聘详细",
"EnName": "Content",
"DbType": "VARCHAR(500)",
"isPrimary": false
},
{
"CnName": "图片",
"EnName": "ImgUrl",
"DbType": "VARCHAR(200)",
"isPrimary": false
},
{
"CnName": "创建时间",
"EnName": "CreateDate",
"DbType": "DateTime",
"isPrimary": false
}
]
},
//案例表
{
//表中文名
"CnName": "招聘表",
//表英文名
"EnName": "TSuccessd",
//字段
"Fields": [
{
"CnName": "主键",
"EnName": "Id",
"DbType": "bigint",
"isPrimary": true
},
{
"CnName": "所属公司Id",
"EnName": "CompanyId",
"DbType": "bigint",
"isPrimary": false
},
{
"CnName": "案例标题",
"EnName": "Name",
"DbType": "VARCHAR(20)",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "案例详情",
"EnName": "Detail",
"DbType": "VARCHAR(500)",
"isPrimary": false
},
{
"CnName": "图片1",
"EnName": "ImgUrl1",
"DbType": "VARCHAR(200)",
"isPrimary": false
},
{
"CnName": "图片2",
"EnName": "ImgUrl2",
"DbType": "VARCHAR(200)",
"isPrimary": false
},
{
"CnName": "创建时间",
"EnName": "CreateDate",
"DbType": "DateTime",
"isPrimary": false
}
]
}
]
}
TUser.json:
//用户表
{
//表中文名
"CnName": "用户表",
//表英文名
"EnName": "TUser",
//字段
"Fields": [
{
"CnName": "主键",
"EnName": "Id",
"DbType": "bigint",
"isPrimary": true
},
{
"CnName": "部门Id",
"EnName": "DeptId",
"DbType": "bigint",
"isPrimary": false
},
{
"CnName": "用户名",
"EnName": "Username",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "昵称",
"EnName": "Nickname",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "密码",
"EnName": "Password",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "邮件",
"EnName": "Email",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "电话",
"EnName": "Phone",
"isPrimary": false,
"isNotNull": true
},
{
"CnName": "创建时间",
"EnName": "CreateDate",
"DbType": "DateTime",
"isPrimary": false
}
],
//种子数据
"Seeds": {
"Keys": "Username,DeptId,Nickname,Password,Email,Phone,CreateDate",
"Vals": [
"'admin',1,'超级管理员','21232f297a57a5a743894a0e4a801fc3','13245809531',now()"
]
}
},
支持DAL、BAL、API代码的自定义替换,传入文件路径即可,具体模板写法请参考源码
"Temlates": {
"StorageTemp": "", //数据访问模板
"ServiceTemp": "", //服务接口模板
"ServiceImplTemp": "", //服务引用模板
"ControllerTemp": "D:\\Controller2.txt" //接口模板
}
Controller.cs:存在则不作替换 Services.cs:始终替换 ServicesImpl.cs:始终替换 Mapper.cs:始终替换 公共文件:始终替换
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型