原始标题: Java Web模板代码生成器的设计与实现
起因
项目需要根据数据库表写很多元、Dao、服务代码,其中很多都是重复繁琐的。 因此,有了模板代码生成器,就可以在一定程度上提高开发效率。
目标
可以配置生成器,为Java Web项目中的Dao、meta和服务层生成模板代码。
代码帧
设计的想法
项目借鉴Mybatis generator生成代码的过程,具体步骤分为以下五个步骤:
逻辑步骤
命令行分析
分析配置文件
获取数据表信息
生成配置信息
生成文件
代码设计
命令分析类shell runner
该类解析命令行中的命令、分析配置文件,并将所需的数据封装到代码生成类中。
可以解决的命令包括-configfile :指定配置文件所在的路径,以及-overwrite :是否重写目标文件。
配置文件配置包括:
代码生成类代码生成器
该类连接到数据库,查询数据表中的表信息,将SQL类型映射到Java类型,并将所需的数据封装到文件生成类中。
在以上几行代码中,rs变量已经获取了目标数据表的表信息。
databaseMetaData.getColumns方法的本质是执行了select * from information _ schema.columnswheretable _ name=' tablename '语句
结果集中,后续处理大致需要以下表信息列:
最后,通过JavaTypeResolver类型映射(映射类型和字符串工具驼峰命名转换(getCamelCaseString ) )将SQL信息转换为Java信息。
文件生成类文件生成器
此类使用FreeMarker模板引擎将数据合并为目标代码文件。
主逻辑如下。
注意
在测试中,Class.class.getClass ().getresource () '/' ).getPath; 此方法可以获取项目根目录,但测试生成的Jar包需要一些时间。 因此,在生成Jar包之前,必须将此行更改为new file ' '.getabsolutepath ()。 获取生成路径。
项目结构
配置文件示例
generatorConfig.properties
运行命令示例
实例演示
源代码
3359 github.com/ted hacker/practice area/tree/master/javawebcodegenerator返回搜狐查看更多信息
责任编辑: