1.开发缘由
最近公司遇到一个大型项目,涉及到的数据库表特别多,我们在编码的时候会发现
很多的工作是枯燥乏味的,每次都要实现表对应的模型对象,数据库操作类,
添加页面,删除页面,列表页面,更新页面等等 其实都是差不多的.
但是要一个个做的话会需要很多时间,而且容易出错.因此有一个代码生成器是
势在必行的,我到网上开始寻找,要么就是功能太弱,达不到我们的目标,要么就是
学习起来太复杂,因此我决定自己来做.
2.需求分析
我们一般开发都是基于数据库来做,一般会实现模型类,数据库操作类和表单页面.
其实都是针对表来实现的.
我分析了一下:
一个表 会有表名,表的描述,另外表有许多列 列会有 类名,列类型,列注释,是否是主键等等.
那就会很自然的我们会构建这样一个对象.
Class TableModel
{
//表名
private String tableName;
//表注释
private String tabComment;
//列列表
private List<ColumnModel> columnList=new ArrayList<ColumnModel>();
}
//列对象
Class ColumnModel
{
//列名
private String columnName;
//列类型
private String columnType;
//是否是组建
private boolean isPrimaryKey=false;
//主键顺序.
private int pkSeq=0;
}
有了这个TableModel 我们就可以使用模版引擎对其进行渲染成我们需要的代码.
我发现Velocity是一个不错的模版引擎.我们就可以自己定义模版,随需实现我们的代码了.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人