专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java Web 模板代码生成器的设计与实现

temp10 2024-10-04 12:34:48 java教程 11 ℃ 0 评论

私信我或关注微信号:猿来如此呀,回复:学习,获取免费学习资源包。

起因

Java Web 模板代码生成器的设计与实现


项目中需要根据数据库表写很多Meta、Dao、Service代码,其中很多代码都是重复而繁琐的。因此如果有一个模板代码的生成器,就可以一定程度提高开发效率。


目标


可配置生成Java Web项目中Dao、Meta、Service层模板代码的生成器。


代码框架



设计思路


项目参考Mybatis generator生成代码的过程,具体步骤分为以下5步。


逻辑步骤


  1. 解析命令行
  2. 解析配置文件
  3. 获取数据表信息
  4. 生成配置信息
  5. 生成文件


代码设计


命令解析类 ShellRunner


该类负责解析命令行的命令,解析配置文件并封装所需的数据给代码生成类。


可解析命令有-configfile:指定配置文件所在路径和-overwrite:是否重写目标文件。


配置文件的配置项有:



代码生成类 CodeGenerator


该类负责连接数据库,查询数据表的表信息,将SQL类型映射成Java类型并封装所需的数据给文件生成类。



通过以上几行代码,rs变量中已经获得目标数据表的表信息。


databaseMetaData.getColumns方法的实质是执行了SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME="tableName"语句。


在结果集中,后续处理大致需要以下表信息列。



最后通过JavaTypeResolver中的类型映射(Map<Integer, JdbcTypeInformation> typeMap)和StringUtils中的驼峰命名转换(getCamelCaseString)将SQL信息转换成Java信息。


文件生成类 FileGenerator


该类通过FreeMarker模板引擎组合数据成目标代码文件。


主逻辑如下:



注意


在测试中,Class.class.getClass().getResource("/").getPath();该方法可以获取项目根目录,但是在测试生成的Jar包时,该方法时效。因此在生成Jar包前需要把该行修改成new File("").getAbsolutePath();获取生成路径。


项目结构



配置文件范例


generatorConfig.properties



运行命令范例


实例演示


来源网络,侵权联系删除

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表