逆向工程
通过前面的学习,在实际开发中,我们基本上能对mybatis应用自如了,但是我们发现了一个问题,所有操作都是围绕着po类,xxxMapper.xml文件,xxxMapper接口等文件来进行的。如果实际开发中数据库的表特别多,那么我们需要手动去写每一张表的po类,xxxMapper.xml,xxxMapper.java文件,这显然需要花费巨大的精力,而且可能由于表字段太多,写错了而不知道也是可能的。
所以我们在实际开发中,一般使用逆向工程方式来自动生成所需的文件。
①、新建一个工程,并导入相应的jar包

org.mybatis
mybatis
3.4.5
mysql
mysql-connector-java
5.1.49
org.mybatis.generator
mybatis-generator-core
1.4.1
注意:使用逆向工程时,最好新建一个工程,如果你在原来的工程中使用,那也可以,但是有一定的风险,因为mybatis是根据配置文件中配置的路径来生成的文件的,如果你工程中有相同名字的文件,那么就会被新生成的文件所覆盖。所以实际开发中,我们一般新建一个工程,将生成的文件复制到自己的所需的工程中。
②、创建配置文件 generatorConfig.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
更多的xml配置:
注意:
- 连接数据库的配置,包括数据名称,数据库用户名密码等配置
- 指定要生成代码的包名及文件配置,包括实体类po的包名,mapper的包名等
- 指定数据库中哪些表需要生成文件
③、运行主程序生成代码
public class GeneratorSqlmap {
public void generator() throws Exception {
List warnings = new ArrayList();
boolean overwrite = true;
// 指定配置文件
File configFile = new File("D:\\workspace\\emptyPro\\mybatis-generator\\config\\generatorConfig.xml");
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);
}
// 执行main方法以生成代码
public static void main(String[] args) {
try {
GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
generatorSqlmap.generator();
} catch (Exception e) {
e.printStackTrace();
}
}
}
直接运行上面的程序,然后刷新generatorConfig.xml 文件中指定的包,会发现生成了如下文件:

|
吃水不忘挖井人: |