基于数据库结构的源代码生成

 在没有做开发平台之前,以前为了节约软件开发的工作量,制作过一个根据数据库表结构,然后自动生成所有的程序代码的工具。现在将制作的原理以及需要注意的地方在描述一下,有兴趣的朋友,可以交流。

在做基于数据库结构的源代码生成时,主要是针对表的增、删、改、查的工作。

以前在做平台之前,觉得基于数据库系统的开发,就是增、删、改、查这些工作,我将这些代码生成了。那就节约了一大部分的代码量。但后来发现生成的代码,其实不是完全拿来就能用的,总是需要再此基础上做些改动。

这样只能保证第一次生成时,是有价值的。第二次就会把以前的改动工作覆盖掉了。

当然这是在做完了,基于数据库的代码生成工具之后,才发现的一个问题,也是这个原因所以才真正的做起了后来的开发平台。

但是一般的公司,估计想要做一个完全的开发平台还是有一定的难度。因此说一下基于数据库的代码生成器还是有一定的价值的。

做一个数据库的代码生成器,要分几块功能。

1、数据库结构的读取,包括表、视图、存储过程以及查询语句。

2、选择一个觉得自己项目采用的框架结构。一般你可能会采用SSH模式。

3、制作一批公共组件,如果做成通用的组件,尽量做成组件。这样将生成的代码或者配置文件越少越好。

4、制作一批样式代码。这些样式代码就是最终你希望代码生成器需要生成的代码。

5、制作一个代码生成器,可以根据数据库结构生成所需的代码。

6、制作模板编辑器,可以更容易方便的修改模板。

以上是需要做的功能,最近看到网上一些想要开源的快速开发平台,能够快速的生成对表的增、删、改、查代码的,基本都是采用这种思路在做。

不过做这样的系统,要注意以下的几个地方:

1、增加、修改表的数据时,需要考虑外键的情况。不能什么东西都是输入框解决。有些下拉式框,有些时选择框。因此最好不要直接根据表结构就生成。要针对模板的要求,设置具体的样式。

2、不能只考虑单表的情况,项目中很多都是多表操作,比如主从表,或者有些输入项是多项输入的。

3、查询时,要考虑关联查询。

4、要考虑权限,只读性。

总之单纯的根据表结构来生成源代码,这个工作已经变得意义不大。只能生成Hibernate代码或者IBatis代码等。这样才有价值一些。

因此关键还是看你的公共组件的设计程度。公共组件设计好了。那在生成的代码做改动的工作量就不大了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值