基于FineUIMVC的代码生成器(传统三层)v1.0

简介: 三层我就不说了,主要是看框架思路可扩展。以前用FineUI开源版写过一版,修修改改自己用了,没有特意的整理,FineUIMVC开发还是比较快,移植了一下两天就弄完了,算是一个对新手有用的工具,先放出第一版发布版,没有源码但是有接口,也搭着好久没更新博客了(主要是MVC挺简单的没啥可写的...)所以在这详细说明下。

三层我就不说了,主要是看框架思路可扩展。以前用FineUI开源版写过一版,修修改改自己用了,没有特意的整理,FineUIMVC开发还是比较快,移植了一下两天就弄完了,算是一个对新手有用的工具,先放出第一版发布版,没有源码但是有接口,也搭着好久没更新博客了(主要是MVC挺简单的没啥可写的...)所以在这详细说明下。

1.使用

加入了本地数据库,sqlite,主要记录下连接地址和接口地址,我本地Win10 64 环境 IIS发布后需要设置下32位兼容性:
启动后就可以连接数据库了,目前支持SqlServer 和MySQL,配置地址和密码,测试下会有连接成功提示,连不上的话,就不知了。
单击数据库名,可以加载数据库表,选择要生成的表,点击选择按钮移动到右边,左侧表有个搜索功能,两个表交互是纯前端的,有用到的可以查看下源码
 
选择表的主键,主键影响增删改,处理的是int型,框架会自增长,到框架时再说。
 
填写项目名称,框架默认了两个数据库帮助类,默认数据库访问类是项目只能有一个数据库类型的意思,生成模式传统和自定义,目前这个分类还没啥作用,就是自定义的时候除了主键都是string类型罢了(传统是按数据库类型),
这时点击生成就可以生成项目了,项目地址在发布文件夹下,项目文件,时间加项目名称文件夹

2.框架

生成的代码框架是三成的小架子,没有前台,当然可以自己见模板,一会再说。拷贝到项目中就能直接用,用起来还是很方便的
BP,文件夹,按表生成,一个表一个三层,MySql和SQLserver的路由在Base/BPBase.cs中,通过Config/DataConfig.ini配置,代码看一眼注释应该都能看懂,不行打个断点走一遍。

3.模板和接口

为了保证灵活开放了模板和接口。 详细介绍
模板文件就在发布文件的mould中,后缀名.codemod的是模板文件,可以直接用记事本打开,修改其中$$***$$就是要替换的动态字符了,所以生成代码一点不神秘很偷懒,后续我会把程序默认的字典说明加上,其实看模板也能看懂,没啥神奇的,不喜欢模板可以随便改。

标识符 说明 对应属性/来源 备注
$$namespace$$ 项目名称/命名空间 ModelHelp.MsCodeSetup.namespacestr 前台填写
$$connectionString$$ 数据库连接地址 ModelHelp.MsCodeSetup.conStr 前台生成
$$DbHelperMySQL$$ MySQL帮助类 ModelHelp.MsCodeSetup.mysqlclassname 前台填写
$$DataAccessor$$ SQL Server帮助类 ModelHelp.MsCodeSetup.sqlclassname 前台填写
$$ColunName$$ Message字段(默认列名) MsTableColumns.ColunMs 数据库读取
$$ColunNotes$$ 列字段说明 MsTableColumns.ColunNotes 数据库读取
$$tablename$$ 表名 MsTableColumns.TableName 数据库读取
$$KEY$$ 主键字段 作为参数传入 MsTableColumns 数据库读取
$$KEYname$$ 主键字段列名 作为参数传入 MsTableColumns.ColunName 数据库读取
$$type$$ 字段类型 根据列字段类型动态生成 数据库读取
$$MsContent$$ 生成数据表实体时格式标记 见 MsTable.codemod 模板  
$$_ForMsToGetMs$$ 生成selectSQL语句时的特殊标记 见 SQLTable.codemod 模板  
$$_ForCmToAddMs$$ 生成insertSQL语句时的特殊标记 见 SQLTable.codemod 模板  
$$_ForMsToAddMs$$ 生成insertSQL语句时的特殊标记 见 SQLTable.codemod 模板  
$$_ForMsToUpMs$$ 生成updateSQL语句时的特殊标记 见 SQLTable.codemod 模板  
 
再动态的生成可以使用接口配置
比如我新建个类库,引用CodeFactoryMVC.Main.dll
 
Class1实现接口ICodeFactory,这样我就参与了生成过程,并继承所有配置参数,表名,数据库名,字段,字段备注...感动的我要掉眼泪了
生成该项目后,需要把dll放到模板生成的bin文件夹下,
在web上配置一下就可以用了,如果没效果的话,发给我、我调试...
 

 下载地址

 

其他扩展

发布文件中还包括一个FineUIMVC的扩展,FineUIMVCEx.dll FineUIOvereide.js FineUIOvereide.css animate-3.5.2.min.css
前台的东西比较多,也藏不住,干脆就说明一下,如果觉得一些效果很合口味可以联系我 /阴险
 
另外这个项目还没做完,下载没有做,如果喜欢的话可以关注,发两个赞助二维码,也不知道会不会有人扫描(奈何我发什么都是企业级应用)
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
存储 Prometheus 监控
K3S环境下接入Prometheus,grafana,等监控套件
因为常规的监控都是用K8S做的,而K3S上的监控方案少之又少,如果直接用rancher上的prometheus监控,会消耗至少2G的内存,于是我们就自己做了K3S和pg数据库的监控,并且通过我们自己做的监控,可以减少一些不必要的性能开销。主要监控容器资源消耗,宿主机资源消耗,pg数据库资源消耗
5407 0
K3S环境下接入Prometheus,grafana,等监控套件
|
移动开发 前端开发 JavaScript
html兼容性怎么优化
html兼容性怎么优化【2月更文挑战第11天】
388 5
|
前端开发 Java Spring
springbootWeb常用注解使用
本文概述了Spring Boot Web中处理HTTP请求的常用注解,包括`@PathVariable`、`@RequestHeader`、`@RequestParam`、`@RequestBody`、`@ModelAttribute`和`@CookieValue`的用法及其示例。
springbootWeb常用注解使用
|
9月前
|
人工智能 搜索推荐 IDE
告别断言阻塞!Pytest 原生神器 Subtests 实战教程
Pytest 9.0+ 原生支持 subtests,可在单个测试中运行多个独立子测试:任一失败不中断其余校验,结果聚合展示,动态创建更灵活。告别“断点即终止”,提升多字段/多条件验证效率与可维护性。
|
安全 搜索推荐 程序员
深入探索Android系统的碎片化问题及其解决方案
在移动操作系统的世界中,Android以其开放性和灵活性赢得了广泛的市场份额。然而,这种开放性也带来了一个众所周知的问题——系统碎片化。本文旨在探讨Android系统碎片化的现状、成因以及可能的解决方案,为开发者和用户提供一种全新的视角来理解这一现象。通过分析不同版本的Android系统分布、硬件多样性以及更新机制的影响,我们提出了一系列针对性的策略,旨在减少碎片化带来的影响,提升用户体验。
|
存储 搜索推荐 数据可视化
提升签单效率:CRM系统在客户签约管理中的关键作用
在竞争激烈的商业环境中,CRM系统作为企业销售和客户服务的核心工具,对签单速度的提升至关重要。本文探讨了CRM系统如何通过集中管理客户信息、可视化销售漏斗、自动化工作流程、个性化营销策略、数据分析与洞察、跨部门协作、移动办公便捷性和快速响应客户反馈等八大方面,有效加速签单过程,提高销售效率。
|
存储 人工智能 算法
深入理解 go Mutex
深入理解 go Mutex
314 0
|
弹性计算 运维 Ubuntu
CloudIaC正式开源!推动环境即服务在企业落地
对于运维来说,管理IT基础设施是一项艰巨的体力劳动,从最原始的用Excel记录维护配置信息,到开发CMDB系统来进行资源的配置管理,从传统上,运维的任务就是管理和配置所有的软件和硬件,这些配置信息对于保证基础架构中的应用程序平稳运行至关重要,但这始终是一个漫长的过程。
2025 1
|
传感器 算法 数据可视化
倍福(Beckhoff)嵌入式控制器PLC
倍福(Beckhoff)嵌入式控制器PLC
倍福(Beckhoff)嵌入式控制器PLC

热门文章

最新文章