在intellij idea中使用BuildGenerator类产生dao、model_为了避免出现可能的覆盖, 请在定制标记名称中至少使用一个句点字符 (.)-程序员宅基地

技术标签: javaee  

继上篇在intellij idea中使用mybatis插件产生dao、model使用mybatis插件产生了dao、model以后,发现使用原生插件生成不了java类的文档注释,又google了一番,参考了网上的资源改造了一下,与之不同的是我使用的BuildGenerator生成的dao、model。

1、下载mybatis-generator-core-1.3.2源码,链接是我已经重命名过了的,导入idea工程里面;

2、主要增加了一个CommentGeneratorSupport类,具体可以参考源码;

3、接着把修改后的源码重新打包jar添加到maven本本仓库,新建maven命令,命名为mybatis-generator-core-support,选择当前项目目录为Working Directory,再Command line输入

clean install -Dmaven.test.skip=true

Profile栏目里面输入

install

这里写图片描述

点击OK,然后再点击Run->Run 'mybatis-generator-core-support',有以下信息出现说明已经成功打包好jar包文件并且提交到maven本地仓库
正在生成/Users/terrence/Downloads/mybatis-generator-core-support/target/apidocs/deprecated-list.html...
正在构建所有类的索引...
正在生成/Users/terrence/Downloads/mybatis-generator-core-support/target/apidocs/allclasses-frame.html...
正在生成/Users/terrence/Downloads/mybatis-generator-core-support/target/apidocs/allclasses-noframe.html...
正在生成/Users/terrence/Downloads/mybatis-generator-core-support/target/apidocs/index.html...
正在生成/Users/terrence/Downloads/mybatis-generator-core-support/target/apidocs/overview-summary.html...
正在生成/Users/terrence/Downloads/mybatis-generator-core-support/target/apidocs/help-doc.html...
注: 可能覆盖将来的标准标记的定制标记:  @mbggenerated。为了避免出现可能的覆盖, 请在定制标记名称中至少使用一个句点字符 (.)。
注: 找不到的定制标记:  @mbggenerated
3 个警告
[WARNING] Javadoc Warnings
[WARNING] /Users/terrence/Downloads/mybatis-generator-core-support/src/main/java/org/mybatis/generator/internal/CommentGeneratorSupport.java:20: 警告 - @描述:是未知标记。
[WARNING] /Users/terrence/Downloads/mybatis-generator-core-support/src/main/java/org/mybatis/generator/internal/CommentGeneratorSupport.java:20: 警告 - @作者:是未知标记。
[WARNING] /Users/terrence/Downloads/mybatis-generator-core-support/src/main/java/org/mybatis/generator/internal/CommentGeneratorSupport.java:20: 警告 - @创建时间:是未知标记。
[INFO] Building jar: /Users/terrence/Downloads/mybatis-generator-core-support/target/mybatis-generator-core-1.3.2-support-javadoc.jar
[INFO] 
[INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ mybatis-generator-core ---
[INFO] Building jar: /Users/terrence/Downloads/mybatis-generator-core-support/target/mybatis-generator-core-1.3.2-support.jar
[INFO] 
[INFO] --- maven-site-plugin:3.0:attach-descriptor (attach-descriptor) @ mybatis-generator-core ---
[INFO] 
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ mybatis-generator-core ---
[INFO] Installing /Users/terrence/Downloads/mybatis-generator-core-support/target/mybatis-generator-core-1.3.2-support.jar to /Users/terrence/.m2/repository/org/mybatis/generator/mybatis-generator-core/1.3.2-support/mybatis-generator-core-1.3.2-support.jar
[INFO] Installing /Users/terrence/Downloads/mybatis-generator-core-support/pom.xml to /Users/terrence/.m2/repository/org/mybatis/generator/mybatis-generator-core/1.3.2-support/mybatis-generator-core-1.3.2-support.pom
[INFO] Installing /Users/terrence/Downloads/mybatis-generator-core-support/target/mybatis-generator-core-1.3.2-support-javadoc.jar to /Users/terrence/.m2/repository/org/mybatis/generator/mybatis-generator-core/1.3.2-support/mybatis-generator-core-1.3.2-support-javadoc.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 20.086 s
[INFO] Finished at: 2017-03-02T22:12:03+08:00
[INFO] Final Memory: 33M/357M
[INFO] ------------------------------------------------------------------------
[WARNING] The requested profile "install" could not be activated because it does not exist.

Process finished with exit code 0

4、新建BuildGenerator类,内容如下

import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.exception.InvalidConfigurationException;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;


public class BuildGenerator {
    public static void main(String[] args) {
        try {
            List<String> warnings = new ArrayList<String>();
            boolean overwrite = true;
            final InputStream is = BuildGenerator.class.getClassLoader().
                    getResourceAsStream("generatorConfig.xml");
            ConfigurationParser cp = new ConfigurationParser(warnings);
            Configuration config = cp.parseConfiguration(is);
            DefaultShellCallback callback = new DefaultShellCallback(overwrite);
            MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
            myBatisGenerator.generate(null);
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (InvalidConfigurationException e) {
            e.printStackTrace();
        } catch (XMLParserException e) {
            e.printStackTrace();
        }
    }
}

generatorConfig.xml我是放在跟类同一目录,以下是generatorConfig.xml内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>

    <!--数据库驱动包路径 -->
    <classPathEntry location="/Users/terrence/.m2/repository/org/mybatis/generator/mybatis-generator-core/1.3.2-support/mybatis-generator-core-1.3.2-support.jar"/>

    <context id="DB2Tables" targetRuntime="MyBatis3">

        <!--这里使用自定义的类CommentGeneratorSupport-->
        <commentGenerator type="org.mybatis.generator.internal.CommentGeneratorSupport">
            <property name="javaFileEncoding" value="UTF-8"/>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="false" />
            <property name="suppressDate" value="true" />
        </commentGenerator>

        <!--数据库连接信息 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/xxx?useUnicode=true&amp;characterEncoding=utf-8" userId="xxx"
                        password="xxx">
        </jdbcConnection>

        <!--生成的model 包路径 -->
        <javaModelGenerator targetPackage="com.xxx.pojo" targetProject="/Users/terrence/Documents/workplace/javaee/panda/项目根目录/src/main/java">
            <property name="enableSubPackages" value="ture"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!--生成xml mapper文件 路径 -->
        <sqlMapGenerator targetPackage="src/main/resources/mybatis" targetProject="/Users/terrence/Documents/workplace/javaee/项目根目录">
            <property name="enableSubPackages" value="ture"/>
        </sqlMapGenerator>

        <!-- 生成的Dao接口 的包路径 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.xxx.dao" targetProject="/Users/terrence/Documents/workplace/javaee/项目根目录/src/main/java">
            <property name="enableSubPackages" value="ture"/>
        </javaClientGenerator>

        <!--账户 表-->
        <table schema="" tableName="TB_ACCOUNT" domainObjectName="Account"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false">
        </table>

        <!--权限表-->
        <table schema="" tableName="TB_PERMISSION" domainObjectName="Permission"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false">
        </table>

        <!--角色表-->
        <table schema="" tableName="TB_ROLE" domainObjectName="Role"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false">
        </table>

    </context>
</generatorConfiguration>

最后运行BuildGenerator类成功生成dao、model等文件。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ksksjipeng/article/details/59734818

智能推荐

nodejs 实战项目学习 数据库访问结果为undefined express ejs_使用node调用数据库里的数据为undefined-程序员宅基地

文章浏览阅读1.9k次。nodej 数据库访问结果为undefined  前几天自己学express虽然自动路由确实很好用, 只需要get 还有设置静态文件就自动路由.  但是nodejs的异步特性有时候让我在做数据库连接时候摸不着头脑  所以到底是异步引起的还是其他的什么引起的, 我也不是很清楚但是问题解决了所以贴出来让大家看看.  如果有大佬愿意指教那当然是极好的具体让我们看看问题使用环境  安装..._使用node调用数据库里的数据为undefined

黑马程序员--写给各位同学,并致黑马各位老师的一封感谢信~~~~绝对给力_黑马程序员感谢信-程序员宅基地

文章浏览阅读1.1k次。我来自黑马五期的一个普通学员,这封感谢信,我不想写的那么多,因为再多的话语也写不尽我心里对黑马这个机构的感激,对黑马所有老师的感激。方立勋老师是黑马的CEO,和他相处过的同学都知道他是一个平易近人,学识渊博的老师,从来不会摆架子,和他沟通很有亲切感,我认为这样的老师,这样的领导是最伟大的。同样我要感谢张孝祥老师,他也是非常伟大的,他的理想,他的抱负,他的故事,让我感觉到一个程序员应该具备什么样思想_黑马程序员感谢信

iperf测试软件windows,windows版iperf网络性能测试工具-程序员宅基地

文章浏览阅读1.7k次。iperf这玩意不用的时候丢在那里一年半载都难得启动一次,用起来的时候还是很能说明问题的。虽然网上有很多说明文档,不过都是介绍参数和命令格式,自己也写一点总结一下常用的情况。服务器端配置:从cmd进入到iperf3.exe所在目录。没有特殊需求直接使用-s参数开启即可,默认端口tcp5201 udp5201,如果对端口有需求可以通过-p参数指定端口,其他参数基本没什么用,非要说的话可能-D后台运行..._iperf测试工具windows

nc65 linux环境搭建,NC65搜索服务器搭建-程序员宅基地

文章浏览阅读650次。搜索服务器是一个微型的NC服务器,它的作用是把搜索服务从业务服务器(用户用来做业务的应用服务器)中独立出来。搜索服务器专门用来而且只用来提供搜索服务。搜索所需要的各个环节,包括从数据库爬取数据、建立索引、搜索得到结果,整个过程都在搜索服务器上完成,而业务服务器不再需要维护与搜索相关的各种服务,只需要将与搜索相关的调用请求发送到搜索服务器就可以了。1.准备两个补丁和一个代码,还有jdk(补丁是打到n..._nc65 was

黑色背景下显示灰色android,深色模式还是黑色模式?微信把所有人都搞懵了-程序员宅基地

文章浏览阅读1.1k次。原标题:深色模式还是黑色模式?微信把所有人都搞懵了前一阵子,微信正式加入了对 " 深色模式 " 的支持,这也是除了 Windows Phone 版本以外微信第一次从系统层面支持深色模式。虽然这次更新离 WWDC 上的演示已经过去了 9 个月,但这也重新将 " 深色模式 " 这四个词推到了风头浪尖。除了对 " 深色模式 " 的迫切需求外,网上也有不少关于微信深色模式的讨论,比如有人" 因深色模式不是..._开了深色模式黑底变灰色

Scintilla开源库使用指南(一)-程序员宅基地

文章浏览阅读82次。Scintilla是一个免费、跨平台、支持语法高亮的编辑控件。它完整支持源代码的编辑和调试,包括语法高亮、错误指示、代码完成(codecompletion)和调用提示(calltips)。能包含标记(marker)的页边(margin)可用于标记断点、折叠和高亮当前行。Scintilla是一个免费、跨平台、支持语法高亮的编辑控件。它完整支持源代码的编辑和调试,包括语法高亮、错误指示、代..._scintilla 不知道如何生成cxx

随便推点

计算机丢失logmanager dll,修复logmanager.dll-程序员宅基地

文章浏览阅读9.3k次。logmanager.dll是电脑系统必备的一个DLL组件修复程序。系统重要文件logmanager.dll。Logmanager.dll文件是一个为大家找到的DLL文件,如果你丢失了计算机上的logmanager.dll,你可以去e-net看文件,在这个站点下载文件,按照教程安装注册文件正常运行。现在!软件介绍:什么是logmanager.dll?它是计算机应用程序中的重要组成部分。如果您的系统..._logmanager.dll

EDZML导入MySQL数据库时出现{EZDML for win64默认自带了一个libmysql.dll,但是它 需要Visual C++ Redistributable Packages for}-程序员宅基地

文章浏览阅读812次。EZDML for win64默认自带了一个libmysql.dll,但是它需要Visual C++ Redistributable Packages for Visual Studio 2013的支持,你可能需要装一下这个支持库才能加载成功.1.最近在做大数据项目的时候用到了EDZML软件,但是连接MySQL时出现该问题,一直没有解决,如下图:2.我已经发邮件给EDZML开发者,问题解决之后我回来更新的。1.最近在做大数据项目的时候用到了EDZML软件,但是连接MySQL时出现该问题,一直没有解决,如下_ezdml for win64默认自带了一个libmysql.dll

数据结构-3.2.6综合应用题1-附带tag标志域的循环队列_循环队列tag标志算法-程序员宅基地

文章浏览阅读676次。# 1 题目描述 若希望循环队列中的元素都能够得到利用,则需设置一个标志域tag,并以tag的值为0还是1,来区分队头指针front和队尾指针rear相同时的队列的状态是“空”,还是“满”,试编写与此结构相应的入队和出队算法。 # 2 基本思路 主要是队列为空、队列为满时的判断条件, [1]队空条件:Q->front==Q->rear&._循环队列tag标志算法

python_判断列表中是否有相同元素_python循环比较相邻元素是否一样-程序员宅基地

文章浏览阅读1w次,点赞4次,收藏13次。判断列表中的相同元素思想:将第一位元素,与后面元素进行比较,发现相同则打印结论二三如果所有元素比较后,也没有发现相同,则打印结论。list01 = [34, 8, 56, 9, 8, 9]result = False # 假设结论是没有重复# 取数据for r in range(len(list01) - 1): # 作比较 for c in range(r ..._python循环比较相邻元素是否一样

特征筛选利器:详解T-test(T检验)原理、参数分析、单\双尾检验选择-程序员宅基地

文章浏览阅读1.8w次,点赞5次,收藏56次。当笔者使用SPSS,或者调用很多sk-learn函数包时,常常会用并不是最难的,**会选择包,会阅读结果,会得出统计学答案**才是最难的。_t-test

如何删除linux系统下的非空目录_linux删除非空目录的命令-程序员宅基地

文章浏览阅读1.1w次,点赞7次,收藏43次。标题: 如何删除linux系统下的非空目录删除目录的常用shell命令为: rmrm 是一个用于删除文件和目录的命令行实用程序。与命令不同 rmdir, rm 可以删除空目录和非空目录。默认情况下,在没有任何选项的情况下使用时 rm 不会删除目录如下图所示:首先,先查看一下我们有几个目录:有两个=>分别是:First_linux_progarm 与 test1尝试使用rm删除test1如何删除linux系统下的空目录? =>如果要删除空目录,请使用 -d(–dir) 选项_linux删除非空目录的命令

推荐文章

热门文章

相关标签