正文

代码生成sunbet申博下载-generator源码剖析

作者:admin | 来源:未知

  之前拥有个项目比较紧急,根本上开辟和设计同步终止,因此设计和数据模具根本上每天邑会变,每天放工的第壹件事坚硬是反节数据模具的变募化,内心壹万头神物凶兽奔驰,后头忙完想到写个代编码发生器,每天度过去己己己跑下以次,己行反节,搜索发皓此雕刻个开源的sunbet下载-generator器,条需编写模板文件就却以,完整顿满意需寻求。看下源码,念书之。

  芜词没拥有拥有,坚硬是使用freemarker到来完成的,关于freemarker不多说,记取壹点就行:输入=模板 + 模具,详细的己己己搜索念书。

  写个freemarker的demo了松下,假设我们要生成此雕刻么壹个java类:

  先笼统成壹个demo.ftl模板:

  freemarker生成代码:

  那位哥们写的代码生成,根本规律也坚硬是此雕刻么,所拥有看宗到来邑是这么美妙,也如同很骈杂,不外面下面的也条是demo,想做好,将考虑很多底细了。

  此雕刻个代码生成我首要是用到来对数据模具生成sqlmap、bean、dao、service,鉴于用到了公司的组件情节,因此重行编写了模板,不外面此雕刻个框架也确实做的好,根本上条是编写个代码模板,邑不用更改框架代码。

  我是用maven从公司私服下添加以的依顶赖。需寻求3个jar包:sunbet下载-generator.jar, freemarker.jar和你数据库的驱触动包。

  先到来个demo看此雕刻个框架怎么用。

  假定我们要生成表对应的bean,模板为:

  Ok,完整顿没拥有效实。

  既然然是用freemarker,这么还是之前那就话,输入=模板 + 模具。看完此雕刻个代码生成的源码,整顿个流动程却以概括为下面几步:

  1. 加以载generator.xml配备文件;

  2. 获取数据库元数据;

  3. 构建输入模具和处理输入。

  根据我的还愿运用情景,删摒除了片断源码,管主流动程。

  rp日用类

  generator包下删摒除了context类,生成代码不需寻求context。

  1. Generator:代码生成的中心,终极代码生成在此雕刻边;

  2. GeneratorConstants:日量类,那些参数却以在配备文件在配备,供了默许值;

  3. GeneratorControl:把持生成器的经过中壹些举止,拥有壹些参数,如能否容许掩饰,生成目次等;

  4. GeneratorFacade:facade花样,入口类;

  5. GeneratorProperties:处理配备文件的加以载,拥有参数PropertiesHelper,父亲微少半方法经度过付托持拥局部PropertiesHelper完成。此雕刻边我觉得拥有点设计不好,鉴于PropertiesHelper拥有点像器类,条是又持拥有真正的Properties,不如Properties持拥有GeneratorProperties,把PropertiesHelper处理成真正的器类;

相关文章