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