开发者社区> shihahayue> 正文

基于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
前台的东西比较多,也藏不住,干脆就说明一下,如果觉得一些效果很合口味可以联系我 /阴险
 
另外这个项目还没做完,下载没有做,如果喜欢的话可以关注,发两个赞助二维码,也不知道会不会有人扫描(奈何我发什么都是企业级应用)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云体验与感受
记录第一次成功运行自己的项目以及使用感受
4 0
〖Redis指南①〗快速入门|配置文件|运行镜像|数据结构|常用命令|客户端
Redis诞生于2009年全称是Remote Dictionary Server,远程词典服务器,是一个基于内存的键值型NoSQL数据库。
6 0
Linux - Linux & Unix 区别?
Linux - Linux & Unix 区别?
4 0
Java 8 新特性:Java 类库的新特性之日期时间API (Date/Time API )
Java 8 新特性:Java 类库的新特性之日期时间API (Date/Time API )
2 0
Linux - 基础篇(上)
Linux - 基础篇(上)
6 0
第八章 自定义Android Gradle工程
Android Gradle为我们提供了大量的DSL,我们使用这些DSL定义配置我们的工程以满足我们项目中不同的需求。这些DSL有很多,在上一章演示Android Gradle工程示例的时候,我们已经大概介绍了compileSdkVersion、buildToolsVersion以及defaultConfig等,这一章我们再详细介绍一些常用的DSL配置,这些配有有签名信息、构建类型、代码混淆、zipAlign对齐压缩等。
6 0
ECS使用体验
在了解到相关文章“飞天加速计划·高校学生在家实践”活动,本人积极参与该活动,为此特撰写了一篇ECS使用体验。
8 0
谷歌开源 PSP 安全协议:Offload 友好,节省约 0.5% 处理能力
近日,谷歌宣布将用于加密传输的 PSP 安全协议开源。这是一种类似于 TLS 的协议,独立于传输,支持每个连接的安全性,并且对 Offload 友好。
4 0
阿里云混合云:如何成为被政企信赖的同行者
这可能是行业首本专为#混合云#打造的技术干货宝典,想要更懂#政企如何数智创新#,看这本就够了!
8 0
+关注
shihahayue
非正常前端|.net|java开发人员,最近再学产品
50
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载