|
|
|
|
@ -10,29 +10,33 @@ import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* MBG代码生成工具
|
|
|
|
|
* MBG代码生成工具,用于自动生成MyBatis的Mapper接口、XML映射文件和实体类。
|
|
|
|
|
* Created by macro on 2018/4/26.
|
|
|
|
|
*/
|
|
|
|
|
public class Generator {
|
|
|
|
|
public static void main(String[] args) throws Exception {
|
|
|
|
|
//MBG 执行过程中的警告信息
|
|
|
|
|
// 存储MBG执行过程中的警告信息
|
|
|
|
|
List<String> warnings = new ArrayList<String>();
|
|
|
|
|
//当生成的代码重复时,覆盖原代码
|
|
|
|
|
// 当生成的代码重复时,是否覆盖原代码
|
|
|
|
|
boolean overwrite = true;
|
|
|
|
|
//读取我们的 MBG 配置文件
|
|
|
|
|
// 读取MBG配置文件,该文件定义了代码生成的规则和数据库连接信息
|
|
|
|
|
InputStream is = Generator.class.getResourceAsStream("/generatorConfig.xml");
|
|
|
|
|
// 创建ConfigurationParser对象,用于解析配置文件
|
|
|
|
|
ConfigurationParser cp = new ConfigurationParser(warnings);
|
|
|
|
|
// 解析配置文件,生成Configuration对象
|
|
|
|
|
Configuration config = cp.parseConfiguration(is);
|
|
|
|
|
// 关闭输入流
|
|
|
|
|
is.close();
|
|
|
|
|
|
|
|
|
|
// 创建DefaultShellCallback对象,处理代码生成过程中的文件覆盖问题
|
|
|
|
|
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
|
|
|
|
|
//创建 MBG
|
|
|
|
|
// 创建MyBatisGenerator对象,用于执行代码生成
|
|
|
|
|
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
|
|
|
|
|
//执行生成代码
|
|
|
|
|
// 执行代码生成
|
|
|
|
|
myBatisGenerator.generate(null);
|
|
|
|
|
//输出警告信息
|
|
|
|
|
// 输出MBG执行过程中的警告信息
|
|
|
|
|
for (String warning : warnings) {
|
|
|
|
|
System.out.println(warning);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|