代码生成器(上篇)

  • 为什么自己做个代码生成器?
  1. Mybatis自带的自动生成代码,不能自定义,比如各种命名没法改,比如不能生成controllerservicejsp

c0862343a461ad22c039f07f2278e59eb1f.jpg

  • 自己如何写代码生成器?模板引擎velocity

使用说明:https://www.ibm.com/developerworks/cn/java/j-lo-velocity1/

Velocity-1.7.jar  模板引擎

commons2jar   :是模板引擎依赖了人家的类

Guava-27.1-jre.jar  :是对字段名的转换,比如good_name字段,在java类的属性叫goodName,当setGoodName时又变成首字母都大写:GoodName,这个jar可以方便转换

239a5d3db0081515c54b6703e0c9cb9a6cc.jpg

  • 代码生成器的原理
    1. 编写一个模板,比如要生成XXXService.javaservice里面所有代码讲模块部分全部用占位符/变量名代替。比如MenuService改成${modelClass}Service
    2. 使用模板引擎,向模板中传递需要的占位符数据,比如${modelClass},这次要生成Menu,就传Menu,下次要建good,就传Good,就可以生成出来不同的模块,但代码只写了模板里面的这一遍
    3. 通过模板引擎,将替换好的占位符的模板输出为具体的MenuService.javaMenuController.java甚至是menu.jsp

     

  • 开发过程 
  1. 引入jar包。
  2. 新建类com.zq.code.CodeBuilder,要有main方法,需要单独运行生成代码文件。不走spring框架;
  3. 编写模板引擎调用代码

2d80e7417864ce2ef398d8a75fb3b148aad.jpg 

    4.com.zq.code.CodeBuilder生成MenuService完整代码

93c7b3dfd53431d1371979d6ad93599f9b2.jpg

  5.service.vm模板

6830a74c0984ef0923d73c9a4ee91c5db09.jpg

  6.其他的模板类似,我们写一下:serviceImpl.vm  controller.vm  dao.vm​​​​​​​​​​​​​​

转载于:https://my.oschina.net/u/4091282/blog/3042299

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值