c# 如何實現代碼生成器
更新時間:2020年12月14日 08:36:42 作者:程序員ken
這篇文章主要介紹了c# 如何實現代碼生成器,幫助大家更好的理解和使用c# 編程語言,感興趣的朋友可以了解下
做了2,3年的java-web,始終木有逃離所謂基礎業(yè)務,增刪改查這些一成不變的東西寫起來浪費大量時間,于是做了個簡單的代碼生成器快速生成
代碼生成器的原理其實很簡單,都是基于模板實現替換,模板基于是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...
以上就是c# 如何實現代碼生成器的詳細內容,更多關于c# 代碼生成器的資料請關注腳本之家其它相關文章!
相關文章
DevExpress之ChartControl實現餅狀圖百分比演示實例
這篇文章主要介紹了DevExpress之ChartControl實現餅狀圖百分比演示的方法,實例講述了窗體與圖形繪制函數的用法,需要的朋友可以參考下2014-10-10

