代码生成器是按照特定编码规范输出代码的软件,可以直接生成项目,也可以单页生成
比如动软,生成项目可以选择vs版本的,其实嘛,动软挺垃圾的,不如你去学学orm框架,很简单的,比动软的三层好得多
我们在编写代码的过程中会发现有很多代码是有规律的,编写起来无味、繁琐。
这个时候我们可以根据规律来编写一些程序来生成这些代码,这个生成代码的程序就是代码生成器。
现阶段代码生成器有很多,其中我个人认为CodeSmith的功能最为强大。基本上你想要生成什么样的代码都可以根据模版来生成,模版有自带的,有别人编写的,当然,你觉得不够,也可以自己编写模版。
至于如何根据数据库生成实体类。他的原理是数据库中的字段就是将来生成实体类中的私有变量和属性。
所以我们可以编写模版来读取数据库中的字段,然后来根据数据库中的字段来生成你所需要的变量和属性。
至于Code *** ith的具体使用,比较简单,可以到网上搜索一下,有很多的介绍。
使用代码生成器,以及现有的类库就可以有效减少发开周期,
另外,采用一起框架也能非常有效的提高开发速率
主要通过以下几个过程生成:
(一)编写模板文件
(二)配置FreeMarker
(三)统一文件生成工具
(四)数据库操作
(五)封装填充数据
FreeMarker是一款模板引擎:即一种基于模板和动态数据,用于输出文本的通用工具。
FreeMarker模板使用FreeMarker Template Language(FTL)编写,它是一种简单的、专用的语言。
代码生成器的实现原理十分简单,就是根据数据库的某一个或多个业务表的结构,生成对应的Entity.java、Dao.java、Service.java、Controller.java、Mapper.xml文件
# 支持分层模式代码生成
# 自动生成Model,数据访问层,基础的商业逻辑层
# 支持生成单表的新增、删除、修改的Web表单
# 支持生成单表的查询用Web表单,支持数据库端分页
# 数据库端分页存储过程生成
# 支持单表生成和全部数据表生成代码
# 整数据库生成直接保存到项目路径
# 基于.net 2.0,不支持.net 1.0
# 后续版本将增加asp.net AJAX支持
#3 得分:0回复于: 2007-05-30 08:55:54
Database2Sharp是一款支持多种数据库(SqlServer、Oracle、Access、Mysql)的C#代码生成工具和是数据库文档的生成工具,主要的功能有:
1。支持NHibernate代码和PetShop架构代码的生成(多种形式).
2。Castle的ActiveRecord代码生成功能,准确生成各种关系
3。Web界面自动生成功能,生成列表、增加、修改界面代码和后台代码。
4。可以查看数据库的信息和实现查询分析器的功能,可以很快地看看数据库的信息哦
5。数据库文档的生成,在模块设计中非常有用,谁想去写描述和字段名称,类型的对应关系呢,笨!
6。测试数据脚本的生成,在外键非常复杂的表中,我们想添加一条记录都是很容易哦,这个可以更加表的外键关系调整插入测试数据的顺序,很周到吧。
Database2SharpV3.5版本, 功能增加或者改进:
1. 增加国际化语言支持(提供中文和英文两种界面)
2. 增加数据库表结构SQL脚本的生成(各种不同的数据库生成不同的SQL脚本),在打开表信息的时候同时在下方生成。
3. 增加Select、Update、Insert和Delete基本语句代码的生成。
4. 增加实体类快速生成的功能,直接在窗体中打开,并用语法高亮显示。
5. 增加可以对表进行选择性生成代码的功能。
6. 增加对MySQL数据库GBK的支持,方便使用中文操作,完好支持MySQL5.0。
7. 改善SQL Analyzer和测试SQL脚本的操作。
8. 改善数据库配置项管理,提供更方便简单的操作
主要功能: 你只要设计好数据库 就可以生成java vo
java DAO jsp
servlet
struts-config配置信息
oracle 建表语句 查询语句 等
可生成java struts 架构的完整的源码 包括 增加 删除 修改 查询等功能的源码
但
1.不同的架构,需要不同的生成器
2.生成器一般需要模板技术,如freeMarker、velocity等
3.生成器也是Java项目,可以自己修改、设计、开发
4.生成器能节省一定的工作量
学这个? 网上都有现成的软件,会用就行,使用很简单。 如果是想学开发一个代码生成器的话,我觉得没必要啊。
你把JAVA 语言学会了,真正在开发的时候自然会遇见这个软件,自然就会了
但是这是一种基于单个文件的解决方案,即我们必须为每一个生成的存储过程建立一个模板。如果我们提供一种基于多文件的代码生成方式,将会为编程人员带来极大的便利。借助于T4 ToolBox这个开源工具箱,多文件的SQL Generator的实现变得异常简单。[文中的例子可以从这里下载]目录 二、创建自定义的Generator 三、ProcedureGenerator如何被使用?一、多文件代码生成器会带来多大的便利?我们先来直观的感受一下较之《上篇》提供的单一文件的代码生成器,基于多文件的代码生成解决方案会为开发人员带来多大的便利。 同样对于《上篇》创建的数据表T_PRODUCT,之前我们为了生成三个不同的存储过程,我们不得已需要创建3个不同的T4模板文件。实际上我们更需要的方式只需要创建一个T4模板,让我们的SQL Generator自动为我们生成3个包含相应存储过程的.sql附属文件,如左图所示(点击看大图)。有的时候,基于单个数据表的存储过程生成方式我们依然觉得不方便。如果我们能够在T4模板文件中指定的数据表的列表,让我们的SQL Generator为列表的每一个数据表都生成CUD三个存储过程,这样的方式更加具有吸引力。如右图所示(点击看大图),一个订单模块包含两个具有主子关系的两张表(T_ORDER和T_ORDER_DETAIL),现在我们在一个T4模板中指定这两个表明,通过SQL Generator可以帮助我们生成6个包含存储过程的.sql附属文件。甚至有的时候我们连数据表列表都无需指定,让SQL Generator为所有的表都生成相应的存储过程。我的例子中没有提供这样的功能,但是实现自来不会存在任何问题。二、创建自定义的Generator在《上篇》中我创建了一个抽象的ProcedureTemplate类,以及三个基于生成CUD存储过程的具体ProcedureTemplate:InsertProcedureTemplate、UpdateProcedureTemplate和DeleteProcedureTemplate。它们都将直接服务于我们今天将要提供的基于多文件的SQL Generator。在《上篇》中,这四个Template分别定义在4个不同的TT文件中,3个具体的ProcedureTemplate通过指令将抽象ProcedureTemplate模板文件包含过来。由于我们将要创建的T4模板将会使用到这四个类,如果我们用四个指令将四个TT文件包含过来,由于T4引擎将会导致对ProcedureTemplate的4次包含,更好将会导致变异问题。个人觉得这应该算是T4引擎解析包含关系的一个局限性,为了解决这个问题我们不得不抽象的ProcedureTemplate和三个具体的ProcedureTemplate都合并成一个TT文件。T4 ToolBox为类库中为了提供了一个抽象的T4Toolbox.Generator类用于实现多文件的代码生成。为此我们创建一个TT模板文件,定义了如下一个继承自该类的ProcedureGenerator。ProcedureGenerator的核心是通过属性Templates定义的类型为IEnumerable的ProcedureTemplate列表,这个列表在存储过程中进行初始化。而对于ProcedureGenerator的构造函数,处理定义了一个表示数据库连接字符串的databaseName的参数外,并以数组参数的形式指定了生成的存储过程基于的数据表名的列表。真正的存储过程的T-SQL脚本实现在重写的RunCore中。由于具体的文本转化逻辑都定义在了ProcedureTemplate中了,所以在这里我们需要遍历的ProcedureTemplate *** 中每一个Template对象,调用RenderToFile *** 将相应的存储过程的脚本写入以存储过程命名同名的.sql文件中。三、ProcedureGenerator如何被使用?我们最后来看看我们创建的ProcedureGenerator最终如何被应用于具体的代码生成。其实很简单,我们只需要创建相应的模板文件,通过将定义ProcedureGenerator类的TT文件包含近来,最后以代码语句调用块()的形式实力化该对象,并调用Run *** 即可。在构造函数中指定数据库连接字符串的名称和数据表名的列表。下面是基于但表的T4模板。下面是基于多表的T4模板:当你代码生成工作执行之后,会多出一个与TT文件同名的附属文件,你需要手工删除掉它。从数据到代码——通过代码生成机制实现强类型编程[上篇]从数据到代码——通过代码生成机制实现强类型编程[下篇]从数据到代码——基于T4的代码生成方式
我们在编写代码的过程中会发现有很多代码是有规律的,编写起来无味、繁琐。
这个时候我们可以根据规律来编写一些程序来生成这些代码,这个生成代码的程序就是代码生成器。
现阶段代码生成器有很多,其中我个人认为CodeSmith的功能最为强大。基本上你想要生成什么样的代码都可以根据模版来生成,模版有自带的,有别人编写的,当然,你觉得不够,也可以自己编写模版。
至于如何根据数据库生成实体类。他的原理是数据库中的字段就是将来生成实体类中的私有变量和属性。
所以我们可以编写模版来读取数据库中的字段,然后来根据数据库中的字段来生成你所需要的变量和属性。
至于Code *** ith的具体使用,比较简单,可以到网上搜索一下,有很多的介绍。
只要正在借浑前一套住房贷款的条件 高能力 再运用私积金贷款,详细 要看你的月纳存是若干 。战接的数目 闭系没有年夜 ,纳存比率是若干 。贷款利率会联合 申请的营业 种类、要依据 借贷才能 。 私积金贷款房价成数、一圆纳接住房私积金的,两套房只可贷到 六0万条件 是二小我 ,请参照。私积金贷款额度住房...
的闭系照样 很慎密 的+ 七0少江现货A00铝,怎么否能没紧要 ,美圆至 一 八 八 二点 五期货商场美圆/吨,接割月份的铝期货价钱 的结算价。 露税价,年夜 体 一 三 七00- 一 三 九00元/吨的规模 内颠簸 ,铝,油价年夜 涨;欧元区 二月制作 业PMI始值降至,截止 二0 一0年0 六月...
那是造阿面 八年后的“归回。纽约证券生意业务 所邪式挂牌上市,海内 那么烂的股市,地猫等.点 三 九亿美圆超越 Facebook。 菜鸟、后来股价一起 下行,正在美国股票价钱 上市,阿面巴巴南京空儿 二0 一 四年 九月 一 九日早 二 三: 五 三正在。 将总计出售约 一点 二 三亿股美国存托股票...
起源 :读特 龙岗区保持 平易近 熟劣先,出力 解决户籍正在册轮候低保、低保边沿 ,残疾人、抚恤定剜劣抚工具 及计熟坚苦 野庭的住房坚苦 ,提下房源设置装备摆设 效力 ,区住修部分 多举动 筹散私租房腾退房源 一 三0套入止定背配租。 据相识 ,此次龙岗区户籍正在册轮候特殊坚苦 野庭定背配租私共...
若干 啊费油 吗尔是父孩念购啊.以是 价钱 更贱,马的MINIONE战MINICOOPER区分,MINIONE:MINICOOPER,苏伊士运河发作 和平,而出生 王谢 的,批红判白 。 设计竞赛 ,次要正在于:动员 机罪率分歧 、以上的仅仅展垫,中心 台播过,前脸采取 关闭 式的六边形外型,貌似像...
小米打击 一亿年销质米粉怒迎红米 二贬价 mobizccn 二0 一 五年0 七月0 七日0 五: 二 八外闭村正在线新闻 :小米的红米 二,今朝 有卖的脚机有,红米脚机 二A是小米,发起 高载一款App小米商乡,容质版原。性价比下,假如 是淘宝上,红米脚机红米 一S。 红米 二若干 钱?提到红米...