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

演示界面: 数据库配置 file

模板配置:

file

file

生成:

file

内置有一套java的模板,调用的是jar包 【需要安装jdk,所有说是c# c++ java的文件存放位置 实际生成的后缀都是.java或.jsp .html】

file file

源码地址:https://gitee.com/ten-ken/personal-manage.git

本文来源于:程序员ken,专属平台有csdn、思否(SegmentFault)、 简书、 开源中国(oschina)、掘金,转载请注明出处。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员ken

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值