基于Freemarker的适用于Mybatis的代码生成器

需求

  • 首选说明代码生成器开源的已有很多,如mybatis-generator就是用的比较多的,也很成熟,但是在配置中感觉有很多的不灵活,可能人家是为了很多人用的,各种各样的配置都可在实现
    我们来实现的功能大体相似,只是简化配置且可全局配置,全局实现驼峰式映射

想法

  • 有了需求就需要有想法,我们实现的到底是个什么样子的程序,代码生成器要适用于Mysql,所以我们需要引用进mysql-connector-java,程序上面不能太定制化,为了以后的扩展和改变生成出来的代码方便,那我们就需要用到模板机制,这样以后的改动只需要改模板,而不需要改动实现层面的程序,更想一下可以模板自定义,这里我们需要用到Freemarker。
    简明扼要的说我们就是要实现一个生成框架,来通过模板生成想要的文件。

框架

  • 有了想法,我们就需要落实,这时我们就可以规划一下项目的框架了。
    1、因为要读取数据库的表信息和每个表的字段结构信息,这里肯定需要访问数据库,所有一定有一层Dao
    2、我们需要一定的逻辑信息 Service 层(接口和实现)
    3、我们需要对表名或字段名等进行驼峰式格式化 Util层
    4、面向对像编程我们需要一些对像 Model层
    5、运行Jar我们需要一个主函数 Mian层
    6、在操作是我们用到了枚举 Enum层
    7、我们需要配置信息用到了 properties 文件
    8、最后就是我们的模板了
    到此项目的架构是不是就清晰了,项目截图