mysql generator备注_MyBatis Generator 自定义生成注释
注釋生成器
為了生成db里面的注釋,必須自定義注釋生成器
EmptyCommentGenerator:
import org.mybatis.generator.api.CommentGenerator;
import org.mybatis.generator.api.IntrospectedColumn;
import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.dom.java.*;
import org.mybatis.generator.api.dom.xml.XmlElement;
import java.util.Properties;
import java.util.Set;
public class EmptyCommentGenerator implements CommentGenerator {
@Override
public void addConfigurationProperties(Properties properties) {
}
@Override
public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
}
@Override
public void addFieldComment(Field field, IntrospectedTable introspectedTable) {
}
@Override
public void addModelClassComment(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
}
@Override
public void addClassComment(InnerClass innerClass, IntrospectedTable introspectedTable) {
}
@Override
public void addClassComment(InnerClass innerClass, IntrospectedTable introspectedTable, boolean b) {
}
@Override
public void addEnumComment(InnerEnum innerEnum, IntrospectedTable introspectedTable) {
}
@Override
public void addGetterComment(Method method, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
}
@Override
public void addSetterComment(Method method, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
}
@Override
public void addGeneralMethodComment(Method method, IntrospectedTable introspectedTable) {
}
@Override
public void addJavaFileComment(CompilationUnit compilationUnit) {
}
@Override
public void addComment(XmlElement xmlElement) {
}
@Override
public void addRootComment(XmlElement xmlElement) {
}
@Override
public void addGeneralMethodAnnotation(Method method, IntrospectedTable introspectedTable, Set set) {
}
@Override
public void addGeneralMethodAnnotation(Method method, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn, Set set) {
}
@Override
public void addFieldAnnotation(Field field, IntrospectedTable introspectedTable, Set set) {
}
@Override
public void addFieldAnnotation(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn, Set set) {
}
@Override
public void addClassAnnotation(InnerClass innerClass, IntrospectedTable introspectedTable, Set set) {
}
}
MySQLCommentGenerator:
import java.util.Properties;
import org.mybatis.generator.api.IntrospectedColumn;
import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.dom.java.Field;
import org.mybatis.generator.api.dom.java.TopLevelClass;
/**
* Created by qhong on 2019/3/22 14:10
**/
public class MySQLCommentGenerator extends EmptyCommentGenerator {
private Properties properties;
public MySQLCommentGenerator() {
properties = new Properties();
}
@Override
public void addConfigurationProperties(Properties properties) {
// 獲取自定義的 properties
this.properties.putAll(properties);
}
@Override
public void addModelClassComment(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
// 獲取表注釋
String remarks = introspectedTable.getRemarks();
topLevelClass.addJavaDocLine("/**");
topLevelClass.addJavaDocLine(" * " + remarks);
topLevelClass.addJavaDocLine(" */");
}
@Override
public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
// 獲取列注釋
String remarks = introspectedColumn.getRemarks();
field.addJavaDocLine("/**");
field.addJavaDocLine(" * " + remarks);
field.addJavaDocLine(" */");
}
}
代碼生成配置
mybatis-generator.xml
/p>
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
connectionURL="jdbc:mysql://18.16.200.42:3306/personnel-dev"
userId="root"
password="shitou$root">
注意其中的commentGenerator節(jié)點,引用的是自定義的類
上面的網(wǎng)上都有,但是網(wǎng)上一般都是自己寫main方法調(diào)用
我這邊不想寫main方法,還是用maven插件命令進行調(diào)用
pom.xml插件配置:
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.7
mysql
mysql-connector-java
5.1.39
org.mybatis.generator
mybatis-generator-core
1.3.7
com.jsy
order-persistence
1.0.0-SNAPSHOT
Generate MyBatis Artifacts
true
true
src/main/resources/mybatis-generator.xml
goal:
其中g(shù)oals注釋,是因為mybatis-generator.xml中,如果沒有table標簽,那么package就會報錯
[ERROR] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.7:generate (Generate MyBatis Artifacts) on project order-persistence: XML Parser Error on line 70: 元素類型為 "context" 的內(nèi)
容不完整, 它必須匹配 "(property*,plugin*,commentGenerator?,(connectionFactory|jdbcConnection),javaTypeReso
lver?,javaModelGenerator,sqlMapGenerator?,javaClientGenerator?,table+)"。 -> [Help 1]
插件配置的引用
注意插件配置中的引用依賴
com.jsy
order-persistence
1.0.0-SNAPSHOT
這是我項目中的一個模塊,就是上面自定義注釋生成器所在項目的模塊,而且這個模塊還要引用
org.mybatis.generator
mybatis-generator-core
1.3.7
mybatis-generator 的plugin有自己的classpath,我們在項目中直接繼承的類和plugin不屬于同一個classpath
這其實是不同的兩個維度。
命令生成代碼
全都配置好以后,還需要將注釋生成器所在模塊使用maven命令install到本地,
這樣就可以使用下面命令生成代碼
mvn mybatis-generator:generate
如果本地并沒有注釋生成器所在模塊,那么就會報異常:
[ERROR] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.7:generate (default-cli) on project order-persistence: Execution default-cli of goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.7:generate failed: Cannot instantiate object of type com.jsy.order.config.mybatis.MySQLCommentGenerator -> [Help 1]
參考
總結(jié)
以上是生活随笔為你收集整理的mysql generator备注_MyBatis Generator 自定义生成注释的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: app inventor HTML5,[
- 下一篇: java fx border_JavaF