parent
12a5acd2ca
commit
3da5cf5b14
@ -0,0 +1,46 @@
|
||||
package com.sock.mall;
|
||||
|
||||
import org.mybatis.generator.api.IntrospectedColumn;
|
||||
import org.mybatis.generator.api.IntrospectedTable;
|
||||
import org.mybatis.generator.api.dom.java.Field;
|
||||
import org.mybatis.generator.internal.DefaultCommentGenerator;
|
||||
import org.mybatis.generator.internal.util.StringUtility;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* 自定义注释生成器
|
||||
*/
|
||||
public class CommentGenerator 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(" */");
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package com.sock.mall;
|
||||
|
||||
import org.mybatis.generator.api.MyBatisGenerator;
|
||||
import org.mybatis.generator.config.Configuration;
|
||||
import org.mybatis.generator.config.xml.ConfigurationParser;
|
||||
import org.mybatis.generator.internal.DefaultShellCallback;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用于生产MBG的代码
|
||||
*/
|
||||
public class Generator {
|
||||
public static void main(String[] args) throws Exception {
|
||||
//MBG 执行过程中的警告信息
|
||||
List<String> warnings = new ArrayList<String>();
|
||||
//当生成的代码重复时,覆盖原代码
|
||||
boolean overwrite = true;
|
||||
//读取我们的 MBG 配置文件
|
||||
InputStream is = Generator.class.getResourceAsStream("/generatorConfig.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);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
jdbc.driverClass=com.mysql.jdbc.Driver
|
||||
jdbc.connectionURL=jdbc:mysql://localhost:3306/mall
|
||||
jdbc.userId=root
|
||||
jdbc.password=root
|
Loading…
Reference in new issue