在使用 idea mybatis.generator 生成的代码,遇到 生成的代码很多重复的地方,

虽然代码是生成的,我们也不应该允许重复的代码出现,因为这些代码后期都要来手动维护。

对于生成时间戳注释、Example类型,xml 等大多都可以通过xml配置来,让其不生成。

然而 对于一些符合自己编码习惯的代码风格再通过配置来生成就不大现实了。对于这种情况,我么可以通过扩展  mybatis.generator 的插件来解决。

插件的编写说明网上有很多,列出几个自己看过的

http://generator.sturgeon.mopaas.com/reference/extending.html

http://blog.geyuxu.com/2015/11/02/java/在 Intellij 中添加mybatis-generator分页插件/

Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码

mybatis generator生成带有分页的Mybatis代码

很多网友 提供了 对 dto 进行序列化、分页的各种插件,生成插件后,我们如何签入到 IDEA 中呢?

step 1.将我们的需要的插件 ,例如:SerializablePlugin、BaseMapperGeneratorPlugin,我们单独放在项目中生成一个jar包

step  2.在我们的实际项目中,将 step1 中生成的jar 包 放到我们本地的maven仓储中

具体步骤可参考 这位博友的操作说明,这样做的目的就是,我们需要将step1 中生成jar 在为 mybatis.generator 插件配置时,直接从本地仓储能找到改文件。

命令:

install:install-file -Dfile=/Users/geyuxu/Desktop/pagination-0.1.jar -DgroupId=com.geyuxu.utils -DartifactId=pagination -Dversion=0.1 -Dpackaging=jar

step 3:  这一步 就是要为我们的  org.mybatis.generator  插件进行配置,告诉他 到那个jar包中去找 我们提供给他的插件

配置如下(如果不尽心这一步配置,可能会出现如下异常:

Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-cli of goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate failed: Cannot instantiate object of type com.)

(ps:如果按照以上步骤进行操作,依然出现上述异常,那几手动把本地maven仓储中的改jar文件删掉,项目中的引用也删掉,重新生成jar 重新引用)

            <!--mybatis-generator-maven-plugin插件来完成MyBatis model 和Mapper文件-->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<!--Mybatis自动生成规则配置文件地址-->
<configurationFile>src/main/resources/mybatis/generatorConfig.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<dependencies>
<dependency>
<artifactId>xxxx-xxx-utils</artifactId>
<groupId>xx.xxxx.xxx.xxx</groupId>
<version>1.0</version>
</dependency>
</dependencies>
</plugin>

记一次 IDEA mybatis.generator 自定义扩展插件的更多相关文章

  1. MyBatis Generator 自定义生成注释

    注释生成器 为了生成db里面的注释,必须自定义注释生成器 EmptyCommentGenerator: import org.mybatis.generator.api.CommentGenerato ...

  2. Java框架-MyBatis三剑客之MyBatis Generator(mybatis-generator MBG插件)详解

    生成器设计思路: 连接数据库 -> 获取表结构 -> 生成文件 1 下载与安装 官网文档入口 最方便的 maven 插件使用方式 贴至pom 文件 2 新建配置文件 填充配置信息(官网示例 ...

  3. MyBatis Generator作为maven插件自动生成增删改查代码及配置文件例子

    什么是MyBatis Generator MyBatis Generator (MBG) 是一个Mybatis的代码生成器,可以自动生成一些简单的CRUD(插入,查询,更新,删除)操作代码,model ...

  4. MyBatis Generator For Eclipse 插件安装

    由于在ORM框架MyBatis中,实现数据表于JavaBean映射时,配置的代码比较的复杂,所以为了加快开发的效率,MyBatis官方提供了一个Eclipse的插件, 我izuoyongjiushis ...

  5. mybatis generator的maven插件,找不到properties的配置文件错误的解决

    第一次运行的时候,maven插件是正确运行了的 但后面对 maven 的 build节点做了一点修改,就开始报错,找不到 properties标签指定的的数据库连接配置文件了 修改部分如下: 这个操作 ...

  6. SpringBoot(十一):springboot2.0.2下配置mybatis generator环境,并自定义字段/getter/settetr注释

    Mybatis Generator是供开发者在mybatis开发时,快速构建mapper xml,mapper类,model类的一个插件工具.它相对来说对开发者是有很大的帮助的,但是它也有不足之处,比 ...

  7. mybatis generator为实体类生成自定义注释(读取数据库字段的注释添加到实体类,不修改源码)

    我们都知道mybatis generator自动生成的注释没什么实际作用,而且还增加了代码量.如果能将注释从数据库中捞取到,不仅能很大程度上增加代码的可读性,而且减少了后期手动加注释的工作量. 1.首 ...

  8. idea + mybatis generator + maven 插件使用

    idea + mybatis generator + maven 插件使用 采用的是 generator 的 maven 插件的方式 ~ 1 pom.xml mybatis其它配置一样,下面是配置my ...

  9. MyBatis Generator实现MySQL分页插件

    MyBatis Generator是一个非常方便的代码生成工具,它能够根据表结构生成CRUD代码,可以满足大部分需求.但是唯一让人不爽的是,生成的代码中的数据库查询没有分页功能.本文介绍如何让MyBa ...

随机推荐

  1. wordexpress

    登陆数据库:mysql -uroot -p 创建数据库:CREATE DATABASE wordpress; 创建数据库用户:CREATE USER wordpress@localhost IDENT ...

  2. c++利用循环数组建立FIFO模板队列

    可直接编译运行,其中status()方法效果如图: #include <iostream> using std::cout; template<typename T> clas ...

  3. Unity3d使用UGUI实现长按功能

    UGUI的Button组件只有OnClick事件的监听,要实现长按功能,要监听按下事件和抬起事件,所以要使用到EventTrigger组件中的OnPointerDown和OnPointerUp来监听. ...

  4. springboot+redis

    上篇整合了DB层,现在开始整合缓存层,使用redis. springboot驱动注解,使用spring注入JedisPool便可封装自己的redis工具类. package hello.configu ...

  5. 总结-mysql

    执行sql脚本: source C:/users/liaolongjun/Desktop/miduo_fileinfo.sql; 注意,必须是正斜杆.如果是反斜杆,也会执行,但会报错. 导入数据: L ...

  6. Objective的字符串拼接 似乎没有Swift方便,但也可以制做一些较为方便的写法

    NSString *str1 = @"字符串1"; NSString *str2 = @"字符串2"; //在同样条件下,Objective的字符串拼接 往往只 ...

  7. Thinkphp 验证码

    一.生成验证码 $Verify = new \Think\Verify(); $Verify->entry(); 生成的验证码信息会保存到session中,里面包含数据有: array('ver ...

  8. django--models操作

    1.models的功能 操作数据库 提交验证 在django的admin中,使用的是modelForms所以在验证的时候,尽管在models后有error_ message参数也不会根据此来提示.具体 ...

  9. sublime 配置jade高亮显示

    1.下载 Package Control.sublime-package 文件放入Packages文件目录下 2.control + shift + p   输入install package 3. ...

  10. javascript 逻辑操作符

    JS按位与(&) 0001 & 0011 --- 0001 只有两个数的值为1时,才返回1 JS按位异或  (^) 0101 (expression1)  1100 (expressi ...