MyGeneration代码生成工具
我们经常用数据访问层和业务逻辑层,用MyGeneration就可以自动生成这些代码,我们可以不用手动写代码了。比如数据访问层,我们需要调用一个存储过程,用MyGeneration我们只需要选择生成存储过程代码的模板,执行一下脚本,然后在界面上选择数据库上某个存储过程,然后就自动生成了数据库访问代码,整个过程只需要点几下鼠标,代码就自动生成了。这对于需要大量操作数据库的程序员来说,效率是多大的提升啊。
1.首先要连接数据库,第一次启动myG的时候会弹出default settings对话框,以后也可以在Edit-default settings里面修改。default settings有3个tabs,在connection里面修改连接字符串,在templates里修改默认模板路径和默认输出路径。更多的帮助查看myGeneration help里的default settings章节。
在connection选项卡里选择数据库驱动类型,连接字符串基本上按照给出的示例改点东西就行,比如加入密码,语言映射文件不要修改,选择语言类型,数据库映射文件也不要修改,选择数据库类型。测试连接成功就可以退出了。
2.退出后会打开MyG的界面,上面是菜单和工具栏,使用方法看myGeneration help里的navigation章节。左边是模板浏览窗口,myG提供按名字空间或者文件目录两种组织方式查看安装的模板,一般以名字空间查看会清楚一点。模板名一般指明模板的用途,模板扩展名一般指明编写它的语言,如vb编写的模板是.vbgen文件,jscript编写的模板是.jgen文件。在浏览窗口还可以查看在线模板库,打开模板模板、直接执行选择模板等。模板浏览窗口的详细用法看myGeneration help里的template browser章节。
3.选择一个模板打开,右边就会出现模板编辑窗口,具体帮助看template editor章节。在编辑窗口可以编辑和保存模板、执行模板。编辑窗口有5个tabs:
template code是模板代码,可修改
interface code是模板运行的界面代码,可修改
template source和interface source搞不懂是什么,但是是只读的。
output是模板的执行结果输出,也就是生成的代码。
4.生成存储过程。
以名字空间查看模板,比如要生成SQL Server数据库的存储过程,它的模板是Microsoft_SQL_Server下的SQL_StoredProcs,至于选择vbgen还是jgen就随便了,效果是一样的。
-打开模板
-单击执行按钮
-在弹出的界面里选择数据库、数据表还有一些选项自己看着选
-单击OK
-在output选项卡里查看生成的代码,复制代码到SQL Server的查询窗口然后执行,就可以创建存储过程了。
5.生成实体类。
在C#名字空间下有一系列模板:
csharp_sql_doodads_businessentity用来生成一张表的实体抽象类
csharp_sql_doodads_concreteClass用来生成具体类,也可以自己写,总之就一点代码:继承抽象类。继承了可以重写和添加成员,具体类和抽象类的关系这里就不多说了。
csharp_sql_doodads_view用来生成视图的具体类,由于myG不支持多表查询,所以不得不建立视图。
csharp_doodads_storedproc用来生成一个调用存储过程的方法。
csharp_sql_bussinessobject这个有待研究
过程跟生成存储过程类似,不同的是找到了生成的类文件,添加到项目里编译就可以使用了。
MyGeneration代码生成工具的更多相关文章
- NHibernate之旅(18):初探代码生成工具使用
本节内容 引入 代码生成工具 结语 引入 我们花了大量的篇幅介绍了相关NHibernate的知识.一直都是带着大家手动编写代码,首先创建数据库架构.然后编写持久化类和映射文件,最后编写数据操作方法.測 ...
- 强大的代码生成工具MyGeneration
强大的代码生成工具MyGeneration 转 MyGeneration是一个功能很强大的代码生成工具.通过编写包含各种类型脚本(C#,VB.Net,JScript,VBScript)的模板,通过数据 ...
- 强大的代码生成工具 MyGeneration
MyGeneration是一个功能很强大的代码生成工具.通过编写包含各种类型脚本(C#,VB.Net,JScript,VBScript)的模板,通过数据库的表内容,生成你需要的各种代码.你可以用它来生 ...
- Map工具系列-01-Map代码生成工具说明
所有cs端工具集成了一个工具面板 -打开(IE) Map工具系列-01-Map代码生成工具说明 Map工具系列-02-数据迁移工具使用说明 Map工具系列-03-代码生成BySQl工具使用说明 Map ...
- mybatis实战教程(mybatis in action)之九:mybatis 代码生成工具的使用
mybatis 应用程序,需要大量的配置文件,对于一个成百上千的数据库表来说,完全手工配置,这是一个很恐怖的工作量. 所以mybatis 官方也推出了一个mybatis代码生成工具的jar包. 今天花 ...
- 第二章 Mybatis代码生成工具
1.mybatis-generator作用 1).生成pojo 与 数据库结构对应 2).如果有主键,能匹配主键 3).如果没有主键,可以用其他字段去匹配 4).动态select,update,del ...
- 【C#】Excel做的数据表、SQLParameter代码生成工具
转载请注明出处http://www.cnblogs.com/Vulpers/ 做了一个小的代码生成工具,用于新建数据表时能够快速生成一些重复性很高的代码,目前仅支持SqlServer数据库及C#语言, ...
- 代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能
在代码生成工具的各种功能规划中,我们一向以客户的需求作为驱动,因此也会根据需要增加一些特殊的功能或者处理.在实际的开发中,虽然我们一般以具体的表进行具体业务开发,但是有些客户提出有时候视图开发也是很常 ...
- Web API应用架构在Winform混合框架中的应用(4)--利用代码生成工具快速开发整套应用
前面几篇介绍了Web API的基础信息,以及如何基于混合框架的方式在WInform界面里面整合了Web API的接入方式,虽然我们看似调用过程比较复杂,但是基于整个框架的支持和考虑,我们提供了代码生成 ...
随机推荐
- (二)Nginx反向代理与负载均衡的实现
引言:nginx正向代理与反向代理在上一篇文章中已经谈论过,这里狗尾草主要告诉大家Nginx对前端的小伙伴来说在工作中如何简单的使用. 1.0什么是反向代理 当我们有一个服务器集群,并且服务器集群中的 ...
- CTF学习资料总结
网络攻防大作业学习方向思路 一直对CTF比赛有参与的兴趣,但由于课程比较多,一直没有足够的时间系统的去了解与训练.所以我想利用接下来的几周时间对CTF比赛经行练习.并找到自己所擅长或感兴趣的方向深入研 ...
- NETCore中RabbitMQ的使用
NET中RabbitMQ的使用 https://www.cnblogs.com/xibei666/p/5931267.html 概述 MQ全称为Message Queue, 消息队列(MQ)是一种应用 ...
- java RE(正则表达式)
验证姓名,邮箱,手机号,密码 import java.util.regex.Pattern; /** * 账户相关属性验证工具 * */ public class AccountValidatorUt ...
- 常用DNS列表(电信、网通)
电信 DNS 列表 -- 共 32 条 (按拼音排序) 电信 A安徽 202.102.192.68 202.102.199.68 电信 A澳门 202.175.3.8 202.175.3.3 ...
- Python函数-repr()
repr(object) 作用: repr() 函数将对象转化为供解释器读取的形式. object --对象.返回一个对象的 string 格式. 实例: >>>s = 'RUNOO ...
- 微软系统工具包Sysinternals Suite官方下载地址
Sysinternals Suite是微软官方发布的系统工具包,其中包含数十款实用的绿色系统工具软件,个个身怀绝技,是你维护Windows系统不可或缺的好帮手. 最新版Sysinternals Sui ...
- gen_server的一些心得
gen_server并不是我原来概念中的tcp_server或者udp_server的概念,只是一个纯粹的消息服务器,另外,附上它的一些回调函数的简单说明参考地址 http://hi.baidu.co ...
- MongoDB部署实战(一)MongoDB在windows平台分片集群部署
前言-为什么我要使用mongodb 最近我公司要开发一个日志系统,这个日志系统包括很多类型,错误的,操作的,...用MongoDB存储日志,大量的日志产生,大量读写吞吐量很大的时候,单个Server很 ...
- thinkphp中的_initialize方法
子类的_initialize方法自动调用父类的_initialize方法.而php的构造函数construct,如果要调用父类的方法,必须在子类构造函数显示调用parent::__construct( ...