14课:mybatis-generator逆向工程生成model/mapper/mapping带有中文字段注释的
简介
项目中难免会[]碰到新增数据库表,同时还要生成对于的model/mapper java/xml文件; 如果碰到项目重构直接通过mybatis 的逆向工程直接操作生成我们需要的model,dao已经mapper.xml文件内容;
项目demo下载
项目的结构
代码内容
1.pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.khy.mybatis</groupId>
<artifactId>mybatisGenerator</artifactId>
<version>0.0.1-SNAPSHOT</version>
<description>mybatis逆向工程工具项目</description>
<dependencies>
<!-- mybatis-generator -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
</dependency>
<!-- MySQL官方JDBC驱动程序 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.35</version>
<!-- 工作域,驱动只有在真正工作的时候才会用到 -->
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- DAO框架依赖:Mybatis依赖 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.3.0</version>
</dependency>
</dependencies>
<build>
<finalName>mybatis_generator</finalName>
<plugins>
<!--名称: java编译插件。目的:指定java编译版本,maven默认版本是1.5。 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
2.MybatisMain.java
public class MybatisMain {
public static void main(String[] args) throws Exception {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
String path = MybatisMain.class.getResource("/generatorConfig.xml").getPath();//加载的配置文件内容
File configFile = new File(path);
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,callback, warnings);
myBatisGenerator.generate(null);
System.out.println("逆向工程生成完毕");
}
}
3.MyCommentGenerator
当前类配置的是逆向工程生成的类中一些字段方法上的内容注解的详情配置内容
然后继承父类org.mybatis.generator.internal.DefaultCommentGenerator
然后重构里面对应的方法
1.数据库表映射的model字段带有字段描述
数据库中的个字段的描述内容
然后重写的addFieldComment 方法
然后生成的model内容
所有数据库表中字段描述都在对于的model上展示出来了;
2 .model上面的get/set方法上的注解
addGetterComment/addSetterComment 方法内容;
然后model生成的get/set方法的效果
里面对应的 注解内容和样式根据自己的需求进行调整
3.model class上面的注解内容,默认生成在package后面
重写父类的 addModelClassComment方法内容
生成的model的样式
这个类从数据库表中拿到表的注释设置到class上面
4. mapper接口方法上的注解内容
默认生成6个方法插入和更新的方法有含有一个带有条件的
然后我们定义了一个枚举生成的这6个方法设置对于注解内容
4. 去掉mapper.xml中的方法默认的注释内容;
对于的类里面还有以下方法内容;上面的方法基本上满足我们的需求内容;
别的方法有兴趣的可以试试