自动代码生成功能开发一(先挖个坑,慢慢填)

  本人大龄菜鸟一枚,领导觉得我们开发速度太慢,于是想弄一个代码自动生成的框架,奈何市面上已有的不是功能不全,就是需要收费。

  于是乎决定自己写一个,效果是选择一个表(或父子表),配置哪些字段是列表显示,哪些字段是表单显示,哪些字段是查询条件,哪些字段是必填,校验规则等,然后一键生成实体类,controller,service,dao,jsp的代码,即增删改查的代码和界面。

我的一点思路(大神勿喷):

  项目其实就是一堆有引用关系的文件,自动生成代码就是在正确的位置生成正确的文件,所以这个重点就是对文件的处理。已user单表的增删改查为例,有这么几个文件:User.java,UserController.java,UserService.java,UserServiceImpl.java,UserMapper.java,UserMapper.xml,user-list.jsp,user-input.jsp。如果再来一个role表,其实也是生成这8个文件,我们发现,这两个表的相对应的文件是有规律可循的,例如UserController和RoleController,生成规则是一致的。所以我们只要定义这8中文件的生成规则就可以了。

  最简单的方法就是创捷文件,拼接代码字符串,将字符串写入文件。。。看着就很繁琐,完全不想码下去了。

  这里利用freemarker这个jar包可以大大降低工作量,freemarker可以定义模板,通过占位符的方式将可变区域标注出来,我们只要将dataMap和模板文件扔给对应的方法,就可以将占位符替换成dataMap里对应的值。关键是模板文件的编写比起拼接字符串要舒服的多!

  于是乎我们需要定义8个模板,一劳永逸。如果那天觉得页面不好看了,可以直接更换下模板就好了。

好了,分析就到这了,日后coding。。。

猜你喜欢

转载自www.cnblogs.com/hmxs/p/10711870.html
今日推荐