mysql generator备注_mybatis-generator自定义注释生成

一、依赖

org.mybatis.generator

mybatis-generator-core

1.3.7

mysql

mysql-connector-java

8.0.15

org.mybatis

mybatis

3.4.0

二、配置

1. generatorConfig.xml

/p>

PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"

"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

connectionURL="${jdbc.url}"

userId="${jdbc.userId}"

password="${jdbc.password}">

targetProject="src\main\java"/>

enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"

selectByExampleQueryId="false" >

2. generator.properties

jdbc.driverClass=com.mysql.cj.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/db01?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false

jdbc.userId=root

jdbc.password=123456

三、自定义实现类

public class CommentGenerator extends DefaultCommentGenerator {

private boolean addRemarkComments = false;

private static final String EXAMPLE_SUFFIX="Example";

// private static final String API_MODEL_PROPERTY_FULL_CLASS_NAME="io.swagger.annotations.ApiModelProperty";

/**

* 设置用户配置的参数

*/

@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)){

//数据库中特殊字符需要转义

if(remarks.contains("\"")){

remarks = remarks.replace("\"","'");

}

addFieldJavaDoc(field, remarks);

// //给model的字段添加swagger注解

// field.addJavaDocLine("@ApiModelProperty(value = \""+remarks+"\")");

}

}

/**

* 给model的字段添加注释

*/

private void addFieldJavaDoc(Field field, String remarks) {

field.addJavaDocLine("//"+ remarks);

}

@Override

public void addJavaFileComment(CompilationUnit compilationUnit) {

super.addJavaFileComment(compilationUnit);

//只在model中添加swagger注解类的导入

// if(!compilationUnit.isJavaInterface()&&!compilationUnit.getType().getFullyQualifiedName().contains(EXAMPLE_SUFFIX)){

// compilationUnit.addImportedType(new FullyQualifiedJavaType(API_MODEL_PROPERTY_FULL_CLASS_NAME));

// }

}

}

四、代码生成入口

public class Generator {

public static void main(String[] args) throws Exception {

//MBG 执行过程中的警告信息

List warnings = new ArrayList();

//当生成的代码重复时,覆盖原代码

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值