C#实现代码生成器【客户端】

Stella981
• 阅读 646

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

演示界面: 数据库配置 C#实现代码生成器【客户端】

模板配置:

C#实现代码生成器【客户端】

C#实现代码生成器【客户端】

生成:

C#实现代码生成器【客户端】

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

C#实现代码生成器【客户端】 C#实现代码生成器【客户端】

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

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

点赞
收藏
评论区
推荐文章
从 生成器 到 promise+async
本文主要讲解js中关于生成器的相关概念和作用,以及到后面结合promise实现es7中的async原理,你将学习到js中异步流程控制相关知识1、认识生成器思考如下代码:javascriptletx1functionfoo()xbar()console.log(x)//3functionbar(
Wesley13 Wesley13
2年前
java代码生成工具之autoCode部署
autoCode介绍autoCode是一个代码生成工具。基于velocity模板引擎,采用SpringMVCmybatisFDUImysql此工具只负责生成代码文件,不会生成完整功能的应用程序.其特点主要有用户登陆每个用户有他自己独立的数据库连接配置和模板配置;数据源配置
Wesley13 Wesley13
2年前
molicode生成工程代码实战
molicode生成工程代码实战背景描述这是一个molicode工具的经典案例场景,即利用molicode通过数据库表模型,生成大量的业务代码。通常意义上讲,目前我们的代码模板是偏向于简单化的增删改查功能。业务代码的丰富程度取决于数据model的丰富代码模板的丰富。如果这两个模型足够丰富,理论上
Easter79 Easter79
2年前
Springmvc+mybatis+Dubbo+ZooKeeper+Redis+KafKa
开发工具1.EclipseIDE:采用Maven项目管理,模块化。2.代码生成:通过界面方式简单配置,自动生成相应代码,目前包括三种生成方式(增删改查):单表、一对多、树结构。生成后的代码如果不需要注意美观程度,生成后即可用。技术选型(只列了一部分技术)1、后端服务框架:Dubbo、zookeeper、Rest服务缓存:redis
Wesley13 Wesley13
2年前
DoraCMS开源版本正式发布
DoraCMS从框架搭建开始至今已经走过了快四个月的时间,时间过得很快,DoraCMS的基础功能也趋于稳定,于是决定自今日起DoraCMS正式开源。 DoraCMS特点 1、基于NodeJS编写,代码简单,易于入手 2、支持无限级分类 3、支持无限属性拓展 4、支持类别模板,即不同类别可以定义不同模板和详情页 5、完善的seo
Stella981 Stella981
2年前
JeecgBoot 2.4 微服务正式版发布,基于SpringBoot的低代码平台
项目介绍JeecgBoot是一款基于代码生成器的低代码平台!前后端分离架构SpringBoot2.x,SpringCloud,AntDesign&Vue,Mybatisplus,Shiro,JWT支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发!JeecgBoot引领新的低代码开发模式(OnlineCoding
Stella981 Stella981
2年前
JeecgBoot 2.4.2 积木报表版本发布,基于SpringBoot的低代码平台
项目介绍JeecgBoot是一款基于代码生成器的低代码平台!前后端分离架构SpringBoot2.x,SpringCloud,AntDesign&Vue,Mybatisplus,Shiro,JWT支持微服务。强大的代码生成器让前后端代码一键生成!JeecgBoot引领低代码开发模式(OnlineCoding代码生成手工M
Easter79 Easter79
2年前
Springmvc+mybatis+shiro+Dubbo+ZooKeeper+KafKa
开发工具1.EclipseIDE:采用Maven项目管理,模块化。2.代码生成:通过界面方式简单配置,自动生成相应代码,目前包括三种生成方式(增删改查):单表、一对多、树结构。生成后的代码如果不需要注意美观程度,生成后即可用。技术选型(只列了一部分技术)1、后端服务框架:Dubbo、zookeeper、Rest服务缓存:redis
Stella981 Stella981
2年前
PHP 生成器Generators的入门理解和学习
什么是生成器Generators生成器允许你在foreach代码块中写代码来迭代一组数据而不需要在内存中创建一个数组,那会使你的内存达到上限,或者会占据可观的处理时间。相反,你可以写一个生成器函数,就像一个普通的自定义函数一样,和普通函数只返回一次不同的是,生成器可以根据需要yield多次,以便生成需要迭代的值。一个简单的例子就
飞速低代码平台 | 风口上的低代码,专业开发者需要考虑哪些?
低代码平台采用可视化的声明性技术,而不是传统的编程方式,开发人员和非开发人员都使用这些技术,并显著减少了交付应用程序和自动化过程的时间和精力。即便如此,低代码对不同的人来说仍然意味着很多事情,因为在这个总称下存在几种工具类型:网站生成器、表单生成器、API连接器、数据库生成器、工作流自动化等。这里,我们将介绍低代码开发与“无代码开发”的区别、主要用例、平台使