最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c# 如何實(shí)現(xiàn)代碼生成器

 更新時(shí)間:2020年12月14日 08:36:42   作者:程序員ken  
這篇文章主要介紹了c# 如何實(shí)現(xiàn)代碼生成器,幫助大家更好的理解和使用c# 編程語言,感興趣的朋友可以了解下

做了2,3年的java-web,始終木有逃離所謂基礎(chǔ)業(yè)務(wù),增刪改查這些一成不變的東西寫起來浪費(fèi)大量時(shí)間,于是做了個(gè)簡單的代碼生成器快速生成

代碼生成器的原理其實(shí)很簡單,都是基于模板實(shí)現(xiàn)替換,模板基于是Nvelocity。

部分代碼展示:【目前只支持mysql 、oracle、sqlite 三種數(shù)據(jù)庫的連接 有需要 可以自己增加】

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;
    }
  }
}

演示界面:
數(shù)據(jù)庫配置

模板配置:

生成:

內(nèi)置有一套java的模板,調(diào)用的是jar包 【需要安裝jdk,所有說是c# c++ java的文件存放位置 實(shí)際生成的后綴都是.java或.jsp .html】

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

以上就是c# 如何實(shí)現(xiàn)代碼生成器的詳細(xì)內(nèi)容,更多關(guān)于c# 代碼生成器的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

杭锦后旗| 临泽县| 扎赉特旗| 瑞昌市| 绥芬河市| 天气| 方山县| 黎平县| 萝北县| 大埔区| 鸡东县| 易门县| 乌什县| 涞源县| 五大连池市| 松阳县| 丰原市| 永寿县| 苗栗县| 富民县| 竹北市| 临夏市| 上思县| 荣成市| 曲沃县| 勐海县| 浦北县| 苍南县| 彰化县| 凭祥市| 明溪县| 贵南县| 辽宁省| 南丹县| 灌南县| 永寿县| 哈尔滨市| 九龙县| 庐江县| 两当县| 灌云县|