我们接触一个新事物的时候,如果一个事物能够给我们带来非常直观的感官认识,那么我们就很容易接受,反之可能需要很长时间的潜移默化的了解认识才能接受。万物化繁为简,透过本质看表象,往往也是一个认知迭代深入的过程。在我介绍很多篇随笔《SqlSugar开发框架》,能够看完的肯定不会是一开始就学习的人员,毕竟技术的陈述是比较枯燥无味的,而最好的认识来自于一些快速的项目演示,本篇随笔介绍利用《代码生成工具Database2Sharp》快速生成基于SqlSugar框架的Winform界面项目,一个完整,生成后直接可以运行跑起来的Winform系统界面。道生一,一生二,二生三,三生万物。直观快捷的成功展示,比任何深奥的理论来的更加具有说服力。

1、代码生成工具Database2Sharp的SqlSugar框架项目生成

要了解项目的快速生成,需要从我们官网下载《代码生成工具Database2Sharp》工具后进行使用,框架支持多种框架的项目开发,我们这里以SqlSugar开发框架的项目生成为例介绍。

先展开数据库列表,并从数据库列表右键选择对应的【SqlSugar框架代码生成】或者在工具栏中快速选择操作,如下界面所示。

在弹出的对话框中选择对应的表进行框架代码和Winform界面代码的一并生成(默认直接生成可运行的WInform界面项目)。

从数据库列表中选择部分表进行测试生成。

一步步生成项目代码,完成后打开对应的目录,可以看到对应的代码分不同的目录进行存放,其中包括一些DLL应用放在Reference目录中,核心服务层在SugarPojectCore目录中,Winform界面端项目在SugarPojectWin目录中。

默认很多相关的类库引用,我们使用Nugget上的引用,默认打开项目后,相关的引用DLL的包文件,VS会自动下载到包文件夹中,如下目录所示。

生成后的项目,所有的引用以及相关的结构均以SqlSugar项目标准配备,直接可以运行测试界面效果的了。

2、SqlSugar框架项目运行界面及项目代码结构

我们生成刚才的项目,使用VS2022打开后,会看到核心服务层SugarPojectCore项目,以及Winform界面端SugarPojectWin项目两个。

SugarPojectCore的项目结构如下所示,其中包括了SqlSugar项目框架区分的接口层、实体模型层、服务实现层。

而Winform界面端SugarPojectWin项目已经生成了对应的默认界面文件,项目文件结构如下所示。

项目我们附带了一些公用性质的界面文件,如系统登录界面、多文档主界面,以及一些如注册、修改密码、关于的常规界面。

而其中下面红框中标识的是我们根据表信息生成的默认界面文件。

不修改任何文件,我们以WInform界面作为默认项目进行编译测试,首先进入登录界面窗体,如下所示。

我们在系统登录的处理中,模拟了登录的操作,直接确认进入主界面。

单击主窗体工具栏,可以打开其中任意一个刚才生成的窗体界面文档,如下所示。

所有的这些工具栏菜单,我们是根据我们所选择的表进行自动生成相关的菜单信息,如名称及窗体的地址展示,这样在单击某个按钮运行后,就可以启动对应的窗体界面了。

在我们没有做任何编码工作的前提下,我们就可以直观的感受到代码生成效果的魅力,界面效果直接可以展示出相关表的业务数据,我们实际使用的时候,进行一些界面效果的微调及处理就可以了。

默认生成的代码,具有了常规查询(多个条件综合查询),高级查询、新建、编辑、 导入导出的功能效果了,对我们快速构建客户业务功能,具有非常便利的集成处理。

高级功能,我们自动根据实体类的属性信息进行构建相关的通用界面的,可以支持更强大的条件筛选查询。

如果默认综合条件查询的方式,不太适合实际的业务查询,也可以在代码生成工具中进行定制生成,如下操作所示,选择【Winform界面代码生成】【SqlSugar框架WInform界面生成】即可。

在【SqlSugar框架WInform界面生成】中定制界面的相关内容,然后生成替换原来的界面窗体文件即可。

默认系统同时生成一些通用的界面效果,直接整合运行都可以看到,如注册软件界面。

修改密码界面,在系统管理模块中入口操作。

系统托盘中展示系统关于信息界面。

弹出关于信息的界面效果。

另外系统集成了皮肤展示及更换的保存处理,如下界面所示,可以自由更换相关的系统皮肤并存储,下次自动记住选择。

默认生成的编辑或者新增界面,是单列展示的,可以根据需要进行微调,微调的时候,鼠标按住控件拖动即可快速调整位置,非常方便。

生成的系统菜单中,也整合了退出系统、重新登录两个常见的菜单,如果需更多的菜单,可以修改代码进行加入即可。

以上我们所有的界面效果,我们均未改动任何代码,直接可以生成相关的整个Winform界面项目,以及后端的服务层部分内容,这样对于我们快速理解代码生成工具的便利,以及高效开发相关的项目,有很好的认识。

而且我们实际项目的标准来生成基础案例,我们在开发的时候,不用过多的调整就可以直接运用在客户项目中了。

利用代码生成工具快速生成基于SqlSugar框架的Winform界面项目的更多相关文章

  1. 使用代码生成工具快速生成基于ABP框架的Vue+Element的前端界面

    世界上唯一不变的东西就是变化,我们通过总结变化的规律,以规律来应付变化,一切事情处理起来事半功倍.我们在开发后端服务代码,前端界面代码的时候,界面都是依照一定的规律进行变化的,我们通过抽取数据库信息, ...

  2. 利用代码生成工具Database2Sharp生成ABP VNext框架项目代码

    我们在做某件事情的时候,一般需要详细了解它的特点,以及内在的逻辑关系,一旦我们详细了解了整个事物后,就可以通过一些辅助手段来提高我们的做事情的效率了.本篇随笔介绍ABP VNext框架各分层项目的规则 ...

  3. Web API应用架构在Winform混合框架中的应用(4)--利用代码生成工具快速开发整套应用

    前面几篇介绍了Web API的基础信息,以及如何基于混合框架的方式在WInform界面里面整合了Web API的接入方式,虽然我们看似调用过程比较复杂,但是基于整个框架的支持和考虑,我们提供了代码生成 ...

  4. 利用代码生成工具生成基于ABP框架的代码

    在前面随笔,我介绍了整个ABP优化过框架的分层模型,包括尽量简化整个ABP框架的各个层的关系,以及纳入一些基类的辅助处理,使得我们对应业务分层类或者接口尽可能减少代码,并具有生产环境所需要的基类接口, ...

  5. 使用代码生成工具快速开发ABP框架项目

    在一般系统开发中,我们一般要借助于高度定制化的代码生成工具,用于统一代码风,节省开发时间,提高开发效率.不同的项目,它的项目不同分层的基类定义不同,我们需要在框架基类的基础上扩展我们的业务类代码,尽量 ...

  6. 利用代码生成工具Database2Sharp设计数据编辑界面

    在Winform程序开发中,界面部分的开发工作量一般是比较大的,特别是表的字段数据比较多的情况下,数据编辑界面所需要的繁琐设计和后台逻辑处理工作量更是直线上升,而且稍不注意,可能很多处理有重复或者错误 ...

  7. ABP开发框架前后端开发系列---(8)ABP框架之Winform界面的开发过程

    在前面随笔介绍的<ABP开发框架前后端开发系列---(7)系统审计日志和登录日志的管理>里面,介绍了如何改进和完善审计日志和登录日志的应用服务端和Winform客户端,由于篇幅限制,没有进 ...

  8. 网络采集软件核心技术剖析系列(7)---如何使用C#语言搭建程序框架(经典Winform界面,顶部菜单栏,工具栏,左边树形列表,右边多Tab界面)

    一 本系列随笔概览及产生的背景 自己开发的豆约翰博客备份专家软件工具问世3年多以来,深受广大博客写作和阅读爱好者的喜爱.同时也不乏一些技术爱好者咨询我,这个软件里面各种实用的功能是如何实现的. 该软件 ...

  9. Mybatis分页-利用Mybatis Generator插件生成基于数据库方言的分页语句,统计记录总数 (转)

    众所周知,Mybatis本身没有提供基于数据库方言的分页功能,而是基于JDBC的游标分页,很容易出现性能问题.网上有很多分页的解决方案,不外乎是基于Mybatis本机的插件机制,通过拦截Sql做分页. ...

  10. 基于图像识别框架Airtest的Windows项目自动化测试实践

    写在前面 上一篇分享了<基于Sikuli GUI图像识别框架的PC客户端自动化测试实践>,但sikuli看起来怎么都像是上个世纪的界面风格,且功能过于简陋.而同样基于图像识别框架的Airt ...

随机推荐

  1. 最新版 Harbor 在ubuntu系统上安装

    最新版 Harbor 在ubuntu系统上安装 The latest version of Harbor is installed on the ubuntu system 安装docker Inst ...

  2. Django笔记二十一之使用原生SQL查询数据库

    本文首发于公众号:Hunter后端 原文链接:Django笔记二十一之使用原生SQL查询数据库 Django 提供了两种方式来执行原生 SQL 代码. 一种是使用 raw() 函数,一种是 使用 co ...

  3. Python程序笔记20230302

    Alice.Bob 和他们的朋友们 问题主体 密码学家 Rivest.Shamir.Adleman 于1977年4月撰写了一篇论文<数字签名与公钥密码学>(On Digital Signa ...

  4. zookeeper重启,线上微服务全部掉线,怎么回事?

    注册中心zookeeper被重启,线上微服务全部掉线,怎么回事?! 最近因为一次错误的运维操作,导致线上注册中心zk被重启.而zk重启后发现所有线上微服务开始不断掉线,造成了持续30分钟的P0故障. ...

  5. 【SpringCloud】(二)Eureka注册中心和Feign远程调用

    1 SpringCloud 核心 SpringCloud基于HTTP协议,这是和Dubbo最本质的区别,Dubbo的核心是RPC(远程方法调用) Eureka:注册中心 Ribbon:客户端负载均衡 ...

  6. 10分钟带你徒手做个Java线程池

    摘要:花10分钟开发一个极简版的Java线程池,让小伙伴们更好的理解线程池的核心原理. 本文分享自华为云社区<放大招了,冰河带你10分钟手撸Java线程池,yyds,赶快收藏吧>,作者:冰 ...

  7. boot-admin整合flowable官方editor-app进行BPMN2.0建模

    正所谓百家争鸣.见仁见智.众说纷纭.各有千秋!在工作流bpmn2.0可视化建模工具实现的细分领域,网上扑面而来的是 bpmn.js 这个渲染工具包和web建模器,而笔者却认为使用flowable官方开 ...

  8. 快速上手Linux核心命令(一):核心命令简介

    前言 众所周知,Linux在服务器中占用不可替代的位置.大多数互联网公司,服务器都是采用的Linux操作系统.而Linux是一个主要通过命令行来进行管理的操作系统.只有熟练掌握Linux核心命令,在使 ...

  9. Java读取数据库表(二)

    Java读取数据库表(二) application.properties db.driver.name=com.mysql.cj.jdbc.Driver db.url=jdbc:mysql://loc ...

  10. Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Bolb Storage

    一,引言 结合前几篇文章,我们了解到 Azure Pipeline 完美的解决了持续集成,自动编译.同时也兼顾了 Sonarqube 作为代码扫描工具.接下来另外一个问题出现了,Azure DevOp ...