手把手教你开发一套代码生成器,学不会的来怼我!( 二 )

运行程序,输出的文件结果如下!
package com.example.test;import java.io.Serializable;/** * <p> * 学生信息 * </p> * * @author 张三 * @since 2021-08-22 */public class Student implements Serializable {private static final long serialVersionUID = 1L;/*** 姓名*/private String name;/*** 年龄*/private Integer age;public String getName() {return this.name;}public Student setName(String name) {this.name = name;return this;}public Integer getAge() {return this.age;}public Student setAge(Integer age) {this.age = age;return this;}}与预期的效果一致,成功生成!
以上就是生成代码最核心的部分,首先编写一套模板,把需要填充的信息全部定义成动态变量,然后在代码中,通过map数据格式,使用freemarker进行填充!
例如小编我就是采用这种方式,首先把要通过工具生成的代码,全部通过模板方式定义好 。

手把手教你开发一套代码生成器,学不会的来怼我!

文章插图
然后通过连接数据库的方式,把需要自动生成的表结构查询出来,封装成数据渲染参数,最后传入到freemarker?中去,非常简单、快速的生成与自己预期想要的代码,所有单表的crud全部一步到位!
下面这个就是小编,基于当前项目定制开发的一款代码生成器,项目采用SpringBoot + Dubbo?框架开发,没有Controller层,截图中所有的代码全部都是采用代码生成器生成的,直接通过单元测试就可以运行,开发的时候非常快!
手把手教你开发一套代码生成器,学不会的来怼我!

文章插图
由于开发的代码生成器工具,代码有点过多,因此不便于通过文章分享给大家,有需要的朋友,可以访问如下链接获取:https://github.com/justdojava/springboot-example-generator
三、小结代码生成器,对于擅长以业务开发为主的程序员来说,绝对是一个巨大的福利,它能很明显的减轻开发人员的工作量,并且提升开发效率,能腾出更多的时间专注业务开发 。
实际上,目前网上已经有很多的成熟、稳定的代码生成器,mybatis-plus?就是其中一个使用非常广泛的代码生成器,对于以单体web开发为主的项目,它完全满足要求 。
当然,如果当下你没有合适的代码生成器,不妨自己试试开发一款属于自己的代码生成器,同样也可以加倍提升开发效率 。
四、参考1、MyBatis-Plus 文档

【手把手教你开发一套代码生成器,学不会的来怼我!】


推荐阅读