亲宝软件园·资讯

展开

c# 代码生成器 c# 怎样实现代码生成器

程序员ken 人气:0

做了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...

加载全部内容

相关教程
猜你喜欢
用户评论