关于c#:C实现代码生成器客户端

56次阅读

共计 1902 个字符,预计需要花费 5 分钟才能阅读完成。

做了 2,3 年的 java-web,始终木有逃离所谓根底业务,增删改查这些变化无穷的货色写起来节约大量工夫,于是做了个简略的代码生成器疾速生成

代码生成器的原理其实很简略,都是基于模板实现替换,模板基于是 Nvelocity。

局部代码展现:【目前只反对 mysql、oracle、sqlite 三种数据库的连贯 有须要 能够本人减少】

sing System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using personal_manage.Common.DAL;
using personal_manage.Common.dto;
using personal_manage.DAL.adapter;
using personal_manage.Models.entity;

namespace personal_manage.BLL.adapter
{
    public class DbBLL
    {public List<TableInfo> SelectTableList(CodeProjectDbConfigInfo codeProjectDbConfigInfo, string tableKeyword)
        {if (codeProjectDbConfigInfo.DbType == "Mysql")
            {return  DbAdapter.SelectTableNameByMySql(codeProjectDbConfigInfo.DbConnect, codeProjectDbConfigInfo.DbName, tableKeyword);
            }else if(codeProjectDbConfigInfo.DbType == "Oracle")
            {return DbAdapter.SelectTableNameByOracle(codeProjectDbConfigInfo.DbConnect, codeProjectDbConfigInfo.DbName, tableKeyword);
            }
            else if (codeProjectDbConfigInfo.DbType == "Sqlite")
            {return DbAdapter.SelectTableNameBySqlite(codeProjectDbConfigInfo.DbConnect, codeProjectDbConfigInfo.DbName, tableKeyword);
            }


            return null;
        }


        public List<TableFieldInfo> SelectTableFields(CodeProjectDbConfigInfo codeProjectDbConfigInfo, string tableName)
        {if (codeProjectDbConfigInfo.DbType == "Mysql")
            {return DbAdapter.SelectTableFieldsByMySql(codeProjectDbConfigInfo.DbConnect, codeProjectDbConfigInfo.DbName, tableName);
            }
            else if (codeProjectDbConfigInfo.DbType == "Oracle")
            {return DbAdapter.SelectTableFieldsByOracle(codeProjectDbConfigInfo.DbConnect, codeProjectDbConfigInfo.DbName, tableName);
            }
            else if (codeProjectDbConfigInfo.DbType == "Sqlite")
            {return DbAdapter.SelectTableFieldsBySqlite(codeProjectDbConfigInfo.DbConnect, codeProjectDbConfigInfo.DbName, tableName);
            }

            return null;
        }
    }
}

演示界面:
数据库配置

模板配置:

生成:

内置有一套 java 的模板,调用的是 jar 包【须要装置 jdk,所有说是 c# c++ java 的文件寄存地位 理论生成的后缀都是.java 或.jsp .html】


源码地址:https://gitee.com/ten-ken/per…

本文来源于:程序员 ken,专属平台有 csdn、思否 (SegmentFault)、简书、开源中国 (oschina)、掘金,转载请注明出处。

正文完
 0