在我早期搭建我的个人博客的时候,由于当时比较空闲,所以就没有使用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();

}

}

}

mysql创建generator字段_springmvc+mybatsi-generator生成不了字段注释的解决方案相关推荐

  1. mysql创建表的时候日期给个默认值_mysql 创建表时 日期字段默认值为当前时间...

    mysql 创建表时 日期字段默认值为当前时间 mysql version 5.1 在mysql创建表的时候经常会遇到创建日期字段需要设置当前时间为默认值的时候,就如sqlserver2000一样,把 ...

  2. peewee创建mysql_python – peewee MySQL,如何创建包装SQL构建的ins的自定义字段类型?...

    我想在peewee(通过 MySQL)创建一个自定义UUID字段. 在python中,我使用UUID作为一个六角形字符串,例如: uuid ='110e8400-e29b-11d4-a716-4466 ...

  3. MySQL创建字段+数据处理函数+汇总数据(聚集函数)+分组数据

    [0]README 0.1)本文部分文字描述转自"MySQL 必知必会",旨在review"MySQL创建字段+数据处理函数+汇总数据(聚集函数)+分组数据" ...

  4. MySQL创建联合索引,字段的先后顺序,对查询的影响分析

    文章目录 前言 最左匹配原则 为什么会有最左前缀呢? 联合索引的存储结构 联合索引字段的先后顺序 b+树可以存储的数据条数 总结 前言 ​ 对于联合索引我们知道,在使用的时候有一个最左前缀的原则,除了 ...

  5. mysql创建单个字段视图,MySQL在单表上创建视图

    搜索热词 在单表上创建视图 在student表上,创建view_stu视图 首先,创建一个数据库chapter07 图片描述" title=""> 在数据库中,创建 ...

  6. 在MySql数据库中创建数据库dbjava,数据表book,字段包括bno,bname,price,count(编号、书名、单价、数量)。 利用JDBC连接数据库dbjava,实现数据表的增删 改查

    题目 1.在MySql数据库中创建数据库dbjava,数据表book,字段包括bno,bname,price,count(编号.书名.单价.数量). 2.利用JDBC连接数据库dbjava,实现数据表 ...

  7. mysql创建主键索引的关键字使用_mysql字段、主键、索引等的创建与修改命令

    //主键 alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add p ...

  8. mysql json 创建索引_MySQL · 最佳实践 · 如何索引JSON字段

    概述 MySQL从5.7.8起开始支持JSON字段,这极大的丰富了MySQL的数据类型.也方便了广大开发人员.但MySQL并没有提供对JSON对象中的字段进行索引的功能,至少没有直接对其字段进行索引的 ...

  9. mysql特殊字段名称_Mysql必读MySQL创建带特殊字符的数据库名称方法示例

    <MysqL必读MysqL创建带特殊字符的数据库名称方法示例>要点: 本文介绍了MysqL必读MysqL创建带特殊字符的数据库名称方法示例,希望对您有用.如果有疑问,可以联系我们. 文章抓 ...

最新文章

  1. GloVe:另一种Word Embedding方法
  2. python3.6.2怎样安装,python 3.6.2 安装配置方法图文教程
  3. android的webView的教程,Android WebView 应用界面开发教程
  4. python flask解决上传下载的问题
  5. 安全扫描工具​Nmap引擎理解文档
  6. 小米、360、京东之后 阿里联手美的杀入智能家居市场
  7. python基础(part4)--语句
  8. yum因被锁定导致无法执行相关操作的解决方法
  9. VS2005调试时变慢解决办法
  10. Karrigell 入门教程
  11. sql横着连接起来sql_SQL联接的简要介绍(到目前为止)
  12. 洛谷P2015 二叉苹果树【树形dp】
  13. 高等组合学笔记(八):第一类Stirling数, 整数分拆
  14. 对于一个html元素,有几种方法修改样式方法的优先级,HTMLCSS常见面试题及疑难解答...
  15. 前端同时访问后端同一接口两次,但只有后面那次请求有返回数据
  16. 罗马数字转换阿拉伯数字
  17. 重启Usb蓝牙设备(PD虚拟机模拟插拔)
  18. 安装postgres10 后,使用自带的pgAdmin 4 访问数据库,出现The pgAdmin 4 server could not be contacted错误的最完美解决方案,另附安装步骤。
  19. 计算机应用情话,情话大全浪漫情话 最美的情话莫过于我也爱你
  20. gbk2312拼音表 按词频排好序的

热门文章

  1. MySQL带ALL关键字的子查询
  2. 再见python你好go语言_再见Shell,你好Python
  3. 【计算机网络(微课版)】第2章 物理层 课后习题及答案
  4. 同一台电脑上使用两个 github 账号
  5. 重磅,Kubernetes 决定弃用 Docker!
  6. 如何生成安全的密码 Hash:MD5, SHA, PBKDF2, BCrypt
  7. struts2教程(7)--拦截器
  8. 【小练习01】CSS--PS提示框制作
  9. ssh长时间不操作便断开_不懂Excel文件恢复方法?只要跟着这样操作,便可以光速恢复文件...
  10. (数据结构与算法)递归及一些经典递归问题