zoukankan      html  css  js  c++  java
  • 代码生成器重构

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

    背景

     

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

     

    为什么要使用这个工具

     

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

     

    工具结构

     

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

     

     

    示例生成项目

     

    项目结构

     

     

    执行代码

     

    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 });
    复制代码

     

    备注

     

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

  • 相关阅读:
    ubuntu下配置Apache
    ubuntu 下配置Web服务器
    ubuntu 笔记一
    域名解析
    C# Enum,Int,String的互相转换
    C# 得到本机局域网IP地址
    C# 连接 SQLServer 及操作
    C# OpenFileDialog 使用
    如何解决 IntelliJ Idea 编译 Java 项目时,找不到包或找不到符号的问题?
    阿里巴巴 MySQL 数据库之 SQL 语句规约 (三)
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3083197.html
Copyright © 2011-2022 走看看