
mysql
mysql-connector-java
5.1.34
org.mybatis.generator
mybatis-generator-core
1.3.2

public class GeneratorXs {
public static void main(String[] args) throws Exception {
Properties pro = new Properties();
InputStream inputStream = FileUtil.class.getClassLoader().getResourceAsStream("generatorForIDEA.properties");
if(inputStream != null)
pro.load(inputStream);
String defaultPath = "D:/generatorDir";
String path = pro.getProperty("xs.gen.config.pojo.model.project", defaultPath);
System.out.println("*********path="+path);
File file = new File(path);
if (!file.exists()) {
file.mkdirs();
}
//MBG 执行过程中的警告信息
List warnings = new ArrayList();
//当生成的代码重复时,覆盖原代码
boolean overwrite = true;
//读取我们的 MBG 配置文件
InputStream is = Surrogate.Generator.class.getResourceAsStream("/generatorXs.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(is);
is.close();
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
//创建 MBG
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
//执行生成代码
myBatisGenerator.generate(null);
//输出警告信息
for (String warning : warnings) {
System.out.println(warning);
}
System.out.println("********* 结束");
}
}
public class CommentGeneratorXs extends DefaultCommentGenerator {
private boolean addRemarkComments = false;
/**
* 设置用户配置的参数
*/
@Override
public void addConfigurationProperties(Properties properties) {
super.addConfigurationProperties(properties);
this.addRemarkComments = StringUtility.isTrue(properties.getProperty("addRemarkComments"));
}
/**
* 给字段添加注释
*/
@Override
public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
String remarks = introspectedColumn.getRemarks();
//根据参数和备注信息判断是否添加备注信息
if(addRemarkComments && StringUtility.stringHasValue(remarks)){
//文档注释开始
field.addJavaDocLine("/**");
//获取数据库字段的备注信息
String[] remarkLines = remarks.split(System.getProperty("line.separator"));
for(String remarkLine:remarkLines){
field.addJavaDocLine(" * "+remarkLine);
}
addJavadocTag(field, false);
field.addJavaDocLine(" */");
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
${gen.config.pojo.model.package}
这种 自己配置下 properties