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是一个不错的模版引擎.我们就可以自己定义模版,随需实现我们的代码了.