c# 如何实现代码生成器
作者:程序员ken 时间:2023-11-13 19:23:35
做了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...
来源:https://segmentfault.com/a/1190000038465438
标签:c#,代码,生成器
0
投稿
猜你喜欢
spring-cloud-stream结合kafka使用详解
2022-05-19 14:32:50
idea 如何查找类中的某个方法
2022-03-17 17:17:42
Java swing五子棋的实现方法
2021-06-01 15:25:20
Android组件ViewStub基本使用方法详解
2022-01-15 07:30:54
Android中解决WebView上下滑动监听问题
2022-04-18 04:45:37
linphone-sdk-android版本号生成解析
2022-10-18 14:43:18
C#设计模式之外观模式介绍
2023-03-15 06:22:31
Android 连接蓝牙扫码器无输入框的实现
2023-05-06 02:37:34
Android实现文字滚动播放效果的代码
2021-07-15 22:35:15
Android中的Launch Mode详情
2022-10-06 02:38:09
一篇文章带你搞懂Java线程池实现原理
2021-10-23 05:45:36
C#及WPF获取本机所有字体和颜色的方法
2022-12-23 01:23:13
Android实现中国象棋附源码下载
2023-12-20 17:09:10
Mybatis防止sql注入原理分析
2023-08-09 22:54:44
C#实现获取一年中是第几个星期的方法
2023-12-04 02:02:46
配置springboot项目使用外部tomcat过程解析
2021-11-22 22:34:25
详解Java接口签名(Signature)实现方案
2022-02-05 09:28:57
C语言实现Flappy Bird小游戏
2022-03-13 13:56:24
springboot下mybatis-plus如何打印sql日志和参数到日志文件
2023-06-15 12:34:05
C#编程实现动态改变配置文件信息的方法
2022-05-01 15:09:25