自己动手写三层代码生成器学习总结

一、三层代码生成器关键:数据库的重要视图

  今天看了下老杨的视频教程,写了一把三层代码生成器,理解了一下简单的代码生成器是如何实现的,其重点就在于数据库系统视图。

  代码生成器需要了解数据库中的几个非常重要的视图,比如INFORMATION_SCHEMA(.TABLES、.COLUMNS)以及一些类型属性Data_Type,Column_Name等。然后利用模板,通过StringBulider来进行字符串的拼接,也就是AppendLine()方法。当然,其中涉及到SQL方法封装、数据库类型向.NET框架数据类型的转换、IO文件流的读写,还有就是不要忘了处理可空数据类型。

  跟着视频教程,我也写了一个超简单的Model层代码生成器。随后又参考老杨的itcastcoder实例写了一个三层的生成器,了解了原理后就copy了部分code,呵呵,时间有限。下面看看这个三层代码生成器吧。

二、我的三层代码生成器概览

  使用WindowsForm技术开发,最终的窗体界面如下:

  使用了DotNetBar For WindowsForm的控件使得窗体好看了一点儿;

  修改连接字符串,点击连接后如下图:

  这里使用的itcast上课的示例数据库:ITCastSIM;

  选择好要生成的层,点击生成后的界面提示,其实就是在TextBox中AppendText一些字符串:

  下面来看看生成的三层代码咋样:

  生成的代码分别放在这三个文件夹中。

  生成的Model层代码。

  生成的DAL层代码;

  生成的BLL层代码;

  上面生成的代码的样式均是我通过Ctrl+E,F调整后截图的,生成的代码是木有格式的,这也是需要通过模板进一步完善的地方,呵呵。最后,谢谢杨老大,谢谢ITCAST!!

附件下载

MyCodeGenerator

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Albert陈凯

Hadoop数据分析平台实战——250JSSDK数据收集引擎编写离线数据分析平台实战——250JSSDK数据收集引擎编写

离线数据分析平台实战——250JSSDK数据收集引擎编写 JsSDK设计规则 在js sdk中我们需要收集launch、pageview、chargeReque...

37380
来自专栏阿杜的世界

分布式系统学习资料(ing)一、理论知识二、数据库三、分布式服务调用四、消息系统

10720
来自专栏圣杰的专栏

事件总线知多少(2)

源码路径:Github-EventBus 事件总线知多少(1) 事件总线知多少(2) 1.引言 之前的一篇文章事件总线知多少(1),介绍了什么是事件总线...

24070
来自专栏草根专栏

Entity Framework Core 2.0 入门

LearnEf.Console依赖LearnEf.Domains和LearnEf.Data:

866140
来自专栏开发技术

spring集成mybatis实现mysql读写分离

       在网站的用户达到一定规模后,数据库因为负载压力过高而成为网站的瓶颈。幸运的是目前大部分的主流数据库都提供主从热备功能,通过配置两台数据库主从关系,...

17710
来自专栏郭少华

Spring boot Mybatis-XML方式使用Druid连接池(四)

41440
来自专栏冷冷

【springboot】 springboot 整合mybatis-plus

springboot整和mybatis-plus 整合步骤 1.pom.xml 添加mp依赖 <!-- mybatis-plus begin --> <depe...

50090
来自专栏Greenplum

Linux 常用命令(三)

curl 命令支持在线下载功能,使用方便,它支持,S,等协议,还支持PUT,POST,COOKIES,认证授权等操作。

27700
来自专栏拂晓风起

在asp.net的web应用系统中导出申请表等文档

13640
来自专栏前端知识分享

第109天:Ajax请求GET和POST的区别

  用get方式可传送简单数据,但大小一般限制在1KB下,数据追加到url中发送(http的header传送),也就是说,浏览器将各个表单字段元素及其数据按照U...

22020

扫码关注云+社区

领取腾讯云代金券