c# 如何实现代码生成器

这篇文章主要介绍了c# 如何实现代码生成器,帮助大家更好的理解和使用c# 编程语言,感兴趣的朋友可以了解下

做了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 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 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# 如何实现代码生成器的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 其他教程