c# 如何实现代码生成器

 更新时间:2020年12月14日 08:36:42   作者:程序员ken  
这篇文章主要介绍了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<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# 代码生成器的资料请关注脚本之家其它相关文章!

相关文章

  • WPF实现雷达图(仿英雄联盟)的示例代码

    WPF实现雷达图(仿英雄联盟)的示例代码

    这篇文章主要介绍了如何利用WPF实现雷达图(仿英雄联盟)的绘制,文中的示例代码讲解详细,对我们学习或工作有一定帮助,需要的可以参考一下
    2022-07-07
  • C#之泛型详解

    C#之泛型详解

    本文详细讲解了C#中的泛型,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • DevExpress之ChartControl实现饼状图百分比演示实例

    DevExpress之ChartControl实现饼状图百分比演示实例

    这篇文章主要介绍了DevExpress之ChartControl实现饼状图百分比演示的方法,实例讲述了窗体与图形绘制函数的用法,需要的朋友可以参考下
    2014-10-10
  • unity实现鼠标跟随(ITween)

    unity实现鼠标跟随(ITween)

    这篇文章主要为大家详细介绍了unity实现鼠标跟随,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • C#随机生成Unicode类型字符串

    C#随机生成Unicode类型字符串

    做测试时经常需要生成一些随机数据,最常见的就是生成随机字符串。而且往往要生成Unicode字符串,有时还要特别指定生成的字符的语言范围。下面是我觉得比较灵活的方法:
    2013-04-04
  • C#验证码问题的快速解决方法

    C#验证码问题的快速解决方法

    下面小编就为大家带来一篇C#验证码问题的快速解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • C#实现动态显示及动态移除图片方法

    C#实现动态显示及动态移除图片方法

    这篇文章主要介绍了C#实现动态显示及动态移除图片方法,对于C#的初学者了解图像操作有一定的帮助,需要的朋友可以参考下
    2014-07-07
  • C# winform实现多语言切换功能

    C# winform实现多语言切换功能

    这篇文章主要为大家详细介绍了如何使用C# winform实现多语言切换功能,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以了解下
    2024-02-02
  • 详解C#中的接口属性以及属性访问器的访问限制

    详解C#中的接口属性以及属性访问器的访问限制

    这篇文章主要介绍了详解C#中的接口属性以及属性访问器的访问限制,文中讲到了使用访问器实现接口时添加访问修饰符的问题,需要的朋友可以参考下
    2016-01-01
  • 数字金额大写转换器制作代码分享(人民币大写转换)

    数字金额大写转换器制作代码分享(人民币大写转换)

    一个人民币大写的扩展方法,可以做成数字金额大写转换器,大家参考使用吧
    2013-12-12

最新评论