<font size='4'>?? 对数据库的操作中间,不同的地方无非是各个字段的信息,比如字段名、类型、长度之类,如果可以获取一个表的所有字段信息,那么,剩下的工作就是使用这些信息来组装目标代码了。</font><font size='4'>??? 获取
数据库表的信息比较简单,用resultsetmetadata就可以获取你想要的信息,包括类型、长度、名称之类的。</font>
<font size='4'>??? 得到数据库表的信息以后,接下来还需要处理,因为这些信息还是不够的,如果想把生成器做的功能强大一些,甚至生成到jsp页面,还需要另外一些东西,比如各个字段的说明之类的信息。我们可以自己定义一个xml格式来保存这些从数据库提取出来的信息,以免以
后生成代码时每次都要读取数据库影响效率。</font>
<font size='4'>??? 获取数据足够了以后,下边就是生成代码部分了,生成代码完全可以用java的stringbuffer一个字串一个字串拼接起来,不过相信那样写出来的的代码谁看都会比较晕,因此还需要一个非常强大的模板引擎-velocity,语法非常简单,使用起来也十分方便,我是觉得这个东西用来做代码生成器感觉真是比较舒服。</font>
<font size='4'>??? 经过这么多步骤,为自己定制的代码生成器应该就可以正常工作了,接下来的工作就是
写代码的模板,其实生成代码的好坏,完全取决于代码模板的质量。我曾经有一阵子疯狂的在网上找一个既合适又简洁的web框架的模板,就是为了生成代码做准备,如果这个工具做的好,从数据层到业务层一直到表现层都可以自动生成,那个效率就非常高了。在以前的几个项目中曾经生成过数据层和业务逻辑层的代码,在最近的一个项目中,又把action(webwork)和jsp页面一起生成了,只要数据库建好,配置文件生成以后修改好,配置运行生成程序,从数据层一直到表现层,全部生成,而且生成以后直接可以使用,那感觉真是比较舒服,节省了好多时间。不过能找到一个合适并且不复杂的框架,可能还需要花一些时间了。</font>
<font size='4'>??? 代码生成器的制作过程以后慢慢再写,今天没啥时间了,先闪人~</font>
?