mysql创建generator字段_springmvc+mybatsi-generator生成不了字段注释的解决方案
在我早期搭建我的個人博客的時候,由于當時比較空閑,所以就沒有使用mybatis-generator框架來生成mybatis文件,都還是自己一個個的親手寫,這次重構的時候,就想著將它框架集成進去,但也不知道為了點兒啥,就是生成不了mysql表字段的注釋。
-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
我使用的mybatis-generator框架是1.3.6版本,上面是我的generatorConfig.xml配置文件,這個配置文件是我從其他項目拷貝過來的,除了修改數據庫信息以外,并沒有其他改動。
平時使用的時候,我都是直接通過maven插件的方式運行的,都能正確生成javabean的字段注釋,但是在這個項目運行的時候,就是生成不了,就算是將注釋配置打開,生成的也都是框架本身自帶的一堆英文,debug了一圈,發現它就是不走生成自定義注釋的那段代碼,百思不得其解(唯一不一樣的地方,就在于正常的是springboot項目,而我這個是springmvc項目,詭異,,,如果后面我找到問題原因了,會再寫文章做詳細分析)。
在網上找了一圈,也沒有發現什么好的解決方案,不過倒是看到了另外一種思路:不使用maven插件方式,自定義一個CommentGenerator,最終問題得到了解決。。。
1、自定義一個CommentGenerator;
package com.wolffy.jwcz.dao.plugin;
import java.text.SimpleDateFormat;
import java.util.Date;
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.InnerClass;
import org.mybatis.generator.api.dom.java.Method;
import org.mybatis.generator.internal.DefaultCommentGenerator;
/**
* 自定義注釋生成器
* Created by SongFei on 2020/09/21.
*/
public classMyCommentGeneratorextendsDefaultCommentGenerator{
private Properties properties;
private Properties systemPro;
private boolean suppressDate;
private boolean suppressAllComments;
private String currentDateStr;
publicMyCommentGenerator(){
super();
properties = new Properties();
systemPro = System.getProperties();
suppressDate = false;
suppressAllComments = false;
currentDateStr = (new SimpleDateFormat("yyyy-MM-dd")).format(new Date());
}
publicvoidaddFieldComment(Field field, IntrospectedTable introspectedTable,
IntrospectedColumn introspectedColumn){
if (suppressAllComments) {
return;
}
StringBuilder sb = new StringBuilder();
field.addJavaDocLine("/**");
sb.append(" * ");
sb.append(introspectedColumn.getRemarks());
field.addJavaDocLine(sb.toString().replace("\n", " "));
field.addJavaDocLine(" */");
}
publicvoidaddFieldComment(Field field, IntrospectedTable introspectedTable){
}
publicvoidaddGeneralMethodComment(Method method, IntrospectedTable introspectedTable){
}
publicvoidaddGetterComment(Method method, IntrospectedTable introspectedTable,
IntrospectedColumn introspectedColumn){
}
publicvoidaddSetterComment(Method method, IntrospectedTable introspectedTable,
IntrospectedColumn introspectedColumn){
}
publicvoidaddClassComment(InnerClass innerClass, IntrospectedTable introspectedTable,booleanmarkAsDoNotDelete){
}
publicvoidaddClassComment(InnerClass innerClass, IntrospectedTable introspectedTable){
}
}
2、在配置文件中引入自定義的CommentGenerator(上面的generatorConfig.xml中已經寫了,這里不再重復);
3、寫一個main方法,運行自定義的CommentGenerator;
package com.wolffy.jwcz.dao;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
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;
/**
* 快速生成mybatis配置文件
* Created by SongFei on 2020/09/21.
*/
public class MybatisGenerator{
public static void main(String[] args){
MybatisGenerator generator = new MybatisGenerator();
System.out.println(System.getProperty("user.dir"));
System.out.println(generator.getClass().getResource("/").getPath());
generator.run();
}
public void run(){
try {
InputStream resourceAsStream = this.getClass().getClassLoader().getResourceAsStream("generatorConfig.xml");
List warnings = new ArrayList<>();
ConfigurationParser parser = new ConfigurationParser(warnings);
Configuration config = parser.parseConfiguration(resourceAsStream);
DefaultShellCallback callback = new DefaultShellCallback(true);
MyBatisGenerator generator = new MyBatisGenerator(config, callback, warnings);
generator.generate(null);
for (String warning : warnings) {
System.err.println(">" + warning);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的mysql创建generator字段_springmvc+mybatsi-generator生成不了字段注释的解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux中mysql回滚重演_DM7
- 下一篇: mysql忘记设置用户_MySQL数据库