课程名称:Spring Cloud+ Vue前后端分离开发企业级在线视频系统
课程章节:第6章 通用代码生成器开发
讲师姓名:甲蛙老师
课程内容:
①开发代码生成器——代码生成器和mybatis-generator整合:更方便快捷地生成代码,提高开发速度,增加编程效率。
课程收获:
现有的生成器在使用时需要先通过mybatis-generator生成持久层代码,再运行ServerGenerator生成service,controller和dto代码,相对来说仍有一些不便,为了解决这个问题,将代码生成器和mybatis-generator整合,只需修改generatorConfig.xml的<table>标签就可以一键生成代码。
首先要引入依赖
<!-- 读xml -->
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.1</version>
</dependency>
在ServerGenerator中添加如下代码:
// 只生成配置文件中的第一个table节点
File file = new File(generatorConfigPath);
SAXReader reader=new SAXReader();
//读取xml文件到Document中
Document doc=reader.read(file);
//获取xml文件的根节点
Element rootElement=doc.getRootElement();
//读取context节点
Element contextElement = rootElement.element("context");
//定义一个Element用于遍历
Element tableElement;
//取第一个“table”的节点
tableElement=contextElement.elementIterator("table").next();
String Domain = tableElement.attributeValue("domainObjectName");
String tableName = tableElement.attributeValue("tableName");
String tableNameCn = DbUtil.getTableComment(tableName);
String domain = Domain.substring(0, 1).toLowerCase() + Domain.substring(1);
System.out.println("表:"+tableElement.attributeValue("tableName"));
System.out.println("Domain:"+tableElement.attributeValue("domainObjectName"));
其中,DbUtil是连接数据库相关工具类,Field是将数据库表中字段的处理工具类
代码生成器可以极大提高开发效率,使得一些重复性的工作量大幅降低,并且可以应用到以后的项目中,修改相关配置即可。