使用动软.net代码自动生成工具的步骤

本文详细介绍了如何使用动软.net代码生成工具(V2.4.1)快速创建数据库工程代码,包括数据库连接设置、命名空间调整、引用添加等关键步骤。此外,文章还介绍了如何通过加密方法提高安全性,并详细阐述了三层架构的使用方法及各层功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用动软.net代码生成工具(V2.4.1)在建立好数据库之后快速的生程自己的工程代码.

首先建立自己的数据库,用动软连接连接数据库.根据需要选择数据库并自动生成代码.

动软自动生成的代码还不能立刻使用需要修改一些地方:

1、 修改webconfig中的<add key="DAL" value="Maticsoft.SQLServerDAL"/>节为自己的命名空间。

2、 修改webconfig<add key="ConnectionString"value="server=127.0.0.1;database=codematic;uid=sa;pwd="/>database为自己数据库的名字,并添加pwd密码。

3、 Web这个程序集的“引用”中添加对SQLServerDAL的引用。(如果这里不引用将会导致DALFactory程序集中的DataAccess类的CreateObject方法不能使用反射产生实例从而引发“未将对象引用设置到对象的实例。”的错误

4、 web程序集设为启动项目。

5、 根据需要把Web程序集中把自动生成的Web页添加进自己的工程。

 

 

关于反射:

    objType=Assembly.Load(AssemblyPath).CreateInstance(classNamespace);其中:AssemblyPath指命名空间.程序集名称。classNamespace指命名空间.程序集名称.类名称

   

关于使用动软.net代码生成工具:

为了使工具更适合于自己的习惯,可以在使用前对它进行简单的设置:安装好动软.net代码生成工具后在“选项设置”中修改“代码生成设置”的顶级命名空间,然后修改“默认生成项目架构类型”为“工厂模式三层”。“类命名规则”表名规则修改为“首字母大写ModelBLLDAL类命名规则分别加上:“Mdl”、“Mgr”、“DAO”。

 

 

 

关于使用加密方法提高安全性:

这个工具中提供了加密/解密功能,主要是对连接的字符串进行加密和解密.加密/解密的方法在DBUtility程序集的DESEncrypt类中定义,预定义的加密密钥是 litianping 对其进行修改可设置自己的密钥.

获得加密字符串并进行加密的方法:

1、在配置文件中设置正确的连接字符串:<add key="ConnectionString" value="server=127.0.0.1;database=codematic;uid=sa;pwd= "/>

2、在Web程序集中建立一个页面并添加对DBUtility程序集的引用(右键添加引用).并在页面代码中添加: usingMaticsoft.DBUtility;

3、添加如下代码:

        protected void Page_Load(object sender, EventArgs e)

        {

            string _connectionString = ConfigurationManager.AppSettings["ConnectionString"];

            string ConStringEncrypt = ConfigurationManager.AppSettings["ConStringEncrypt"];

            Response.Write("原文:" + _connectionString + "<br/>");

 

            string s1 = Maticsoft.DBUtility.DESEncrypt.Decrypt(_connectionString);

            Response.Write("对原文解密值:" + s1 + "<br/>");

 

            string s2 = Maticsoft.DBUtility.DESEncrypt.Encrypt(_connectionString);

            Response.Write("对原文加密值:" + s2 + "<br/>");

 

        }

4、在浏览器中查看此页面即可获得加密的字符串。

5、复制所需要的加密字符串将value中的值改为复制的加密字符串,如:将<add key="ConnectionString"value=" server=127.0.0.1;database=codematic;uid=sa;pwd= "/>改为:<add key="ConnectionString" value="8618B53C32BF8E0B6CD3BDFF59B9F24BE1C6D586A5915C8B6DC69A09ABB2DF60A4026BDE8E76B6FDE2BFCEA3FA8E06CB "/>

6、在webcongig中设置<add key="ConStringEncrypt" value="false"/>, false 改为 true.(此为关键步骤)

 

关于使用“工厂模式结构”自动生成代码的架构

这里所说的三层都是针对动软.net代码生成工具自动生成的代码的讲解,并不代表规范。

其实就是在简单三层的基础上对DAL层增加了一个接口层。简单的三层分别为:ModelBLLDAL

Model层是一些数据实体,主要是每个数据表生成一个类,表中的字段对应类中的属性。

DAL层处理数据库的增删改查。

BLL层把页面层和DAL层关联起来,处理业务逻辑,这一层是我们应该根据实际情况进行修改的部分。

还有一些辅助的程序集:

DALFactory是生成具体类的程序集,使用的是工厂方法模式。DataAccess类是这个程序集的主要类。DataCache类是DataAccess类的辅助类,可以使用Cache提高性能。

 

DBUtility程序集提供了访问数据库的基础方法,CommandInfo类是此程序集中其余类的辅助类。SQLHelperOracleHelper是微软官方的的书写方式。PubConstant也是为其他类提供服务的辅助类,主要用于获取数据库连接字符串。DESEncrypt是加密解密类,也是一个辅助类,此类默认加解密密钥是litianping。其余类DbHelperMySQLDbHelperOleDbDbHelperOraDbHelperSQLDbHelperSQLP有很大的相似性,分别提供了对不同数据库进行访问的方法。

 

IDAL提供了DAL层接口,引入接口就可以避免对具体类的依赖。针对接口编程。

 

SQLServerDAL程序集实现了IDAL接口,是具体访问数据库进行增删改查的类。

OracleDAL程序集实现了IDAL接口,也是具体访问数据库进行增删改查的类。

 

BLL程序集是逻辑业务层,这对IDAL层编程不依赖于具体数据库处理类,通过DALFactory中的反射生成实例的方法生成具体的数据库处理类。

 

如果有需要还可以对BLL层添加接口层IBLL,让Web层针对IBLL层编程,但个人认为应该根据需要分层并不是分层越多越好。

<br/>件名称:.Net代码自动生成器(Codematic)<br/>件版本:1.9.7.2 (2006.4.14)<br/>件容量:2.65 MB<br/>件分类:开发工具<br/>件性质:国产件 / 简体中文 / 免费件<br/>应用平台:WinNT/2000/XP/2003/Longhorn/Vista<br/>界面预览:http://www.Maticsoft.com/Codematic.aspx<br/>官方网站:http://www.Maticsoft.com<br/>官方论坛:http://bbs.Maticsoft.com<br/>电子信箱:l_tp@163.com<br/>下载地址:http://www.maticsoft.com/soft/Codematic.rar<br/><br/>件简介:<br/> Codematic 是一款为 C# 数据库程序员设计的自代码生成器,Codematic 生成的代码基于基于面向对象的思想和三层架构设计,结合了Petshop中经典的思想和设计模式,融入了工厂模式,反射机制等等一些思想。采用 Model + DAL + BLL + Web 的设计,主要实现在 C# 中对应数据库中表的基类代码自动生成,包括生成属性、添加、修改、删除、查询、存在性、 Model 类构造等基础代码片断,使程序员可以节省大量机械录入的时间和重复劳,而将精力集中于核心业务逻辑的开发。 <br/> Codematic 同时提供方便的数据库查询管理,SQL脚本生成,存储过程生成,数据库文档生成,Web项目文件发布,代码生成自导出文件等多项开发工作中常用到的功能,您可以很方便地进行项目开发。 <br/><br/>详细功能说明:<br/><br/>1.代码生成。<br/> 可以生成三层架构的代码。如果采用类似petshop架构模式的架构,则代码生成效率很高。<br/> 它可以生成:实体Model,DAL(数据访问层),IDAL(接口层),DALFactory(类工厂),BLL(业务逻辑层),WEB层等多层的代码,可以节省大量的时间来做业务逻辑的代码,那些重复的代码就交给它去做吧,1分钟生成一个架构所有的基本代码。我感觉有了它开发项目的效率简直好轻松。<br/> (1)自动生成属性注释.<br/> (2)可以自由设定命名空间和实体类名。<br/> (3)免费提供数据库访问,页面数据校验等等基础类库及封装类库源码。自己可以对其进行修改保存满足自己的需要。<br/> (4)支持不同类型数据层的生成: 基于SQL语句,基于参数,基于存储过程。<br/> (5)支持选择不同架构代码生成:简单基本三层结构;基于工厂模式+反射机制+缓存机制的复合结构;自定义结构模版。<br/> (6)可以生成增加,显示等页面主体Html代码,和后台.cs处理代码。<br/> (7)支持对多种类型数据库生成代码:如SQLServer2000,SQLServer2005,Oracle,OleDb等。<br/><br/>2.数据库管理器。<br/> 类似SQLServer2000的管理界面,方便平常在代码编辑的时候想查看数据库的信息,并且可以很直观的查看字段类型,长度,主键,默认值等详细信息,省去了在代码和数据库管理器之间的来回切换,方便快捷。<br/> (1)支持多种类型数据库。如SQLServer2000,SQLServer2005,Oracle,OleDb等。<br/> (2)创建表脚本和存储过程及数据脚本,支持执行。<br/> (3)导出表脚本和存储过程文件。<br/> (4)表的重命名,删除操作。<br/><br/>3.查询分析器。<br/> 实现类似于SQLServer的查询分析器的功能,方便编写代码时想进行数查询。<br/> (1)实现执行选中部分SQL语句。<br/> (2)实现关键字高亮。<br/> (3)支持F5快捷键执行语句。<br/> (4)实现打开现有脚本,保存当前脚本功能。<br/> (5)实现错误检测提示功能。<br/><br/>4. 自动生成存储过程和SQL脚本。<br/> 可以根据选定的数据库和表(可多选),生成表的创建脚本,以及表数据的插入脚本,同时可以生成表的增,删,改,查等操作的存储过程脚本。支持在当前生成和导出脚本文件功能.<br/><br/>5. 自动生成数据库结构文档。<br/> 可以根据选定的数据库和表(可批量生成),可以生成字段的详细信息,包括默认值,描述等信息.生成相应的表结构文档,免去手工写文档和操作的麻烦。<br/><br/>6. Web项目文件发布。<br/> 有时候我们需要根据自己的要求,导出项目文件,VS.NET自带的复制项目功能,对一些图片或js 文件等等其他一些文件,不能自导出,除非把这些都添加到项目里。所以,有了这个功能,对项目发布非常的方便,并且支持自己定义哪些发布哪些不发布。<br/><br/>7. 代码生成自导出功能。<br/> 代码生成器可以选定一个表来生成代码,然后粘贴到项目里。但如果表很多,来回这么操作太麻烦,所以,这个功能可以按三层架构,自建立文件夹,并自动生成所选的所有表的.cs代码文件,只需要添加到项目里就可以了。<br/><br/>8.其他功能:<br/> (1) C#ToVB.NET代码转换器.<br/> (2) 实现了热键呼出。可以自己设定热键.当你点窗口的[X]关闭程序时,程序会自隐藏运行在任务栏,通过热键可以快速呼出窗口。<br/><br/><br/>**************************************************************************************<br/><br/>同时,发布基于该模式的一套示例项目系统源码,包括完整UI。<br/><br/>下载地址:http://www.maticsoft.com/soft/Codematicdemo.rar<br/><br/>使用该架构与.NET代码自动生成器结合开发项目,可以大大节省开发时间,提高效率。<br/>让开发变得轻松,使工作变得快乐!<br/><br/>****************************************************************************************<br/><br/>用智慧改变世界,用创造改变生活。其实,工作也很快乐!— 李天平<br/><br/>****************************************************************************************<br/><br/><br/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值