NodeJs:Happy代码生成器,重构了代码,更新了文档,完善了示例,欢迎下载使用…

NodeJs:Happy代码生成器,重构了代码,更新了文档,完善了示例,欢迎下载使用…

背景

利用现有的开源框架,做了一个代码生成工具,因为以后都打算用这个工具,就重构了代码、更新了文档和完善了示例。这篇文章简单介绍一下工具的组成和API文档的使用。一则:为了我的团队成员;二则:为了让需要的朋友可以下载使用。

为什么要使用这个工具

  • 简单:核心就2个类+四个API方法、asp的模板语法(ejs)、为了方便代码生成,数据库元数据做了预处理(如:可空类型、C#类型的字符串表示)。
  • 快捷:比如:你按照三层架构定义了3个模板,且你的数据库有10个表,一个方法调用会生成30个文件(目标可以自定义)。
  • 文档齐全:中文文档,不懂英文也OK。
  • 容易DIY:没有限制、没有升级。
  • 元数据定义方便:动态类型,想咋弄咋弄。

工具结构

工具下载:http://yunpan.cn/Q5FrvqT46Ujum

NodeJs:Happy代码生成器,重构了代码,更新了文档,完善了示例,欢迎下载使用...

示例生成项目

项目结构

NodeJs:Happy代码生成器,重构了代码,更新了文档,完善了示例,欢迎下载使用...

执行代码

test.js

 1 var util = require('util');
 2 var _ = require('underscore');
 3 
 4 var DatabaseSchemaReader = require('database_schem_reader').DatabaseSchemaReader;
 5 var CodeGenerator = require('code_generator').CodeGenerator;
 6 
 7 var schemaReader = DatabaseSchemaReader.createSqlClientReader(
 8     'Data Source=(LocalDB)\\v11.0;AttachDbFilename=' + __dirname + '\\test_database\\Test.mdf;Integrated Security=True;Connect Timeout=30'
 9 );
10 
11 schemaReader.readAll(function (error, schema) {
12     _.each(schema.tables, function (table) {
13 
14         CodeGenerator.executeTemplateDirectory('./templates/table', {
15             table: table,
16             baseNamespace: 'Test'
17         });
18 
19     });
20 
21     console.log('success!')
22 });

备注

欢迎朋友们下载使用,我可以义务支持。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110130.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据采集技术python网络爬虫_精通Python网络爬虫

    数据采集技术python网络爬虫_精通Python网络爬虫Python网络爬虫与数据采集第1章序章网络爬虫基础1爬虫基本概述1.1爬虫是什么1.2爬虫可以做什么1.3爬虫的分类1.4爬虫的基本流程1.4.1浏览网页的流程1.4.2爬虫的基本流程1.5爬虫与反爬虫1.5.1爬虫的攻与防1.5.2常见的反爬与反反爬1.6爬虫的合法性与robots协议1.6.1robots协议1.6.2查看网页的robots协议1.7Python爬虫相关库2.Chrome浏览器开发者工具2.1Chrome浏览器开发者工具简述2.1

    2022年9月1日
    2
  • js中数组排序的五种方式「建议收藏」

    js中数组排序的五种方式「建议收藏」1.Javascript的sort方法,本方法的原理是冒泡排序,这里默认从小到大排序<script> vararr=[23,13,34,65,65,45,89,13,1]; varnewArr=arr.sort(function(a,b){ returna-b; }); console.log(newArr);//输出结果[1,13,13,23,34,45,65,65,89]</script>2….

    2022年5月6日
    134
  • 状态机/流程引擎/审批流的流程引擎/结合低代码开发的流程引擎 区别 业务系统中使用流程引擎「建议收藏」

    状态机/流程引擎/审批流的流程引擎/结合低代码开发的流程引擎 区别 业务系统中使用流程引擎「建议收藏」业务中利用流程引擎可以解耦.但坏处是有一天流程引擎无法满足新功能的时候,开发工作量比较大.有遇到过一个特殊的case.乘客和司机,垫付场景.本来,乘客支付后分润给司机.两个行为时顺序的.后续变更,新增平台垫付.乘客支付和司机垫付两个行为即不是平行的,也不是互斥的,乘客支付排斥垫付,但是垫付不排斥乘客支付,且要对乘客支付进行延迟判断.业务逻辑

    2022年10月20日
    2
  • RTP 协议

    RTP 协议原博客地址:http://www.cnblogs.com/qingquan/archive/2011/07/28/2120440.html概述:实时传送协议(Real-timeTransportProtocol或简写RTP,也可以写成RTTP)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC1889中公布的。RTP协议详细说明了在互联网上传递音频和视频的标…

    2022年6月28日
    35
  • 新东方背单词记忆法_刘晓艳10天背单词怎么背

    新东方背单词记忆法_刘晓艳10天背单词怎么背[来源:新东方作者:胡文宁] 从一上大学起,我就执着地认为,英语问题就是单词问题。你看,无论是精读还是泛读,大量的生词扑面而来,我想,如果这些单词都认识的话,一切不都迎刃而解了吗?刚开始背单词,我也不得其法,功夫下了不少,但是效果甚微。又发现班里有些同学,似乎很容易地就记住了许多单词,心里有些懊恼,常想:上天不公啊,为何我的记忆力就如此这般地差。我打小memory就很poor,常…

    2025年11月5日
    4
  • 级联分类器原理(级联器是什么)

    级联分类器即为Emgucv中的CascadeClassifier。使用CascadeClassifier来加载一个.xml分类器文件,然后使用DetectMultiScale函数来对图片进行检测。这是DetectMultiScale函数。publicRectangle[]DetectMultiScale(IInputArrayimage,doublescaleFactor=1.

    2022年4月10日
    285

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号