今天花了3个多小时搞定了这个事情,写个Blog记录一下,先看一下最终生成的实体类吧。

packagecom.mybatis.pojo;importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;/*** Created by Mybatis Generator on 2019/08/28*/@Data

@NoArgsConstructor

@AllArgsConstructorpublic classBed {privateLong biId;privateLong biWiId;privateString biStatus;privateLong biUpId;privateLong biPatient;

}

这里使用了Lombok,让实体类更加简洁,如何在项目中使用Lombok很多技术博客讲的已经很详细了,不再赘述。

注:我使用的IDE是Eclipse

一、在Eclipse Marketplace中添加MyBatis Generator插件,我这里使用的是1.3.7

二、在src/main/resources中添加generatorConfig.xml,代码如下:

在上面的代码中,这行代码是我们实现自动生成实体类中去掉getter和setter方法的关键。

三、新建一个com.mybatis.plugin的包,在包中新建一个类IngoreSetterAndGetterPlugin,代码如下

package com.mybatis.plugin;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.List;

import org.mybatis.generator.api.IntrospectedColumn;

import org.mybatis.generator.api.IntrospectedTable;

import org.mybatis.generator.api.PluginAdapter;

import org.mybatis.generator.api.dom.java.Interface;

import org.mybatis.generator.api.dom.java.Method;

import org.mybatis.generator.api.dom.java.TopLevelClass;

public class IngoreSetterAndGetterPlugin extends PluginAdapter {

@Override

public boolean validate(Listlist) {

return true;

}

@Override

public boolean modelBaseRecordClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {

//添加domain的import

topLevelClass.addImportedType("lombok.Data");

topLevelClass.addImportedType("lombok.NoArgsConstructor");

topLevelClass.addImportedType("lombok.AllArgsConstructor");

//添加domain的注解

topLevelClass.addAnnotation("@Data");

topLevelClass.addAnnotation("@NoArgsConstructor");

topLevelClass.addAnnotation("@AllArgsConstructor");

//添加domain的注释

topLevelClass.addJavaDocLine("/**");

topLevelClass.addJavaDocLine("* Created by Mybatis Generator on " + date2Str(new Date()));

topLevelClass.addJavaDocLine("*/");

return true;

}

@Override

public boolean clientGenerated(Interface interfaze, TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {

//Mapper文件的注释

interfaze.addJavaDocLine("/**");

interfaze.addJavaDocLine("* Created by Mybatis Generator on " + date2Str(new Date()));

interfaze.addJavaDocLine("*/");

return true;

}

@Override

public boolean modelSetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType) {

//不生成getter

return false;

}

@Override

public boolean modelGetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType) {

//不生成setter

return false;

}

private String date2Str(Date date) {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");

return sdf.format(date);

}

}

如果出现上方的包不存在的情况,请在pom文件中加入以下依赖

org.mybatis.generator

mybatis-generator-core

1.3.7

四、鼠标右键选择我们刚才创建的IngoreSetterAndGetterPlugin.java,以jar的形式导出

五、将jar包导入本地Maven仓库

比如我们刚才导出的jar包在桌面,进入cmd,使用cd命令进入Desktop

输入mvn install命令:

mvn install:install-file -DgroupId=org.N1ckeyQu -DartifactId=IngoreSetterAndGetterPlugin -Dversion=1.0.0 -Dpackaging=jar -Dfile=IngoreSetterAndGetterPlugin-1.0.0.jar

这里的DgroupId可以任意写,我这里写了我的名字,你可以改成你的。版本号最好是写1.0.0

导入本地Maven仓库成功。

我们进入本地仓库查看一下

六、在pom文件中加入我们刚才导入到本地Maven仓库的内容

org.N1ckeyQu

IngoreSetterAndGetterPlugin

1.0.0

这里的内容和我们刚才的mvn install命令中的内容是完全对应的,所以如果你修改了mvn install命令,添加依赖的时候也要修改内容。

七、生成实体类

鼠标右键点击generatorConfig.xml -> run as -> run MyBatis Generator,就自动生成我们需要的实体类、DAO和xml映射文件了,实体类的样子就如第一张图所示。

java实体类没有映射文件_MyBatis自动生成实体类、DAO和XML映射文件,并去掉实体类中的getter和setter方法...相关推荐

  1. 安装Ruby、Sass在WebStrom添加Watcher实现编辑scss文件时自动生成.map和压缩后的.css文件...

    前言 这段时间一直在看Bootstrap,V3官方直接提供了Less版本的源码,就先将Less学完了,很简单的语法,学习写Demo都是在Webstorm里写的,配置了Watcher自动编译(详见< ...

  2. 在WebStorm里配置watcher实现编辑less文件时自动生成.map和压缩后的.css文件

    1.操作前确定成功安装less,检测方法,在命令行(cmd),输入lessc -v,看到如下类似内容,则说明安装过了.    如果需要生成压缩后的css的文件,则需要通过以下命令安装插件 npm in ...

  3. mysql xml生成工具_自动生成po、dao、xml 工具:mybatis-generator

    需要注意:文件路径关系,xml路径,jar包路径,以及xml中生成文件的路径等. 由于MyBatis属于一种半自动的ORM框架,所以主要的工作将是书写Mapping映射文件,但是由于手写映射文件很容易 ...

  4. java中getter 和 setter 方法有什么意义?为什么不用public代替GS?

    知乎里的一个答案:https://www.zhihu.com/question/21401198 的确可以暴露,如果1. 所有内外代码都是你自己写:2. 这个模块再也不改了:3. 不会继承它,或者继承 ...

  5. 【Groovy】Groovy 方法调用 ( Java 类成员及 setter 和 getter 方法设置 | Groovy 类自动生成成员的 getter 和 setter 方法 )

    文章目录 一.Java 类成员及 setter 和 getter 方法设置 二.Groovy 类自动生成成员的 getter 和 setter 方法 一.Java 类成员及 setter 和 gett ...

  6. 根据tt文件模板自动生成代码

    根据tt文件模板自动生成代码,下面依赖一个edmx,生成代码文件 <span style="font-size:12px;color:#000000;"><#@ ...

  7. 文件夹自动生成html画廊,【桌面自动生成文件夹】桌面自动生成网站_桌面自动生成tmp文件-系统城...

    2017-01-26 13:59:36 浏览量:11190 有的用户发现自己的电脑系统中,总是会在桌面上生成一个名称为MobileFile的文件夹.其实,这个MobileFile文件夹是QQ相关的文件 ...

  8. Python创建文件时自动生成文件信息

    Python创建文件时自动生成文件信息 在创建python脚本文件时,对文件初始化自动生成一些文件信息来进行设置 1 打开路径 2 调整面板 3 面板填写样式 参考链接 Pycharm创建文件时自动生 ...

  9. 基于注解处理器开发自动生成getter和setter方法的插件

    昨天无意中,逛到了lombok的网站,并看到了首页的5分钟视频,视频中的作者只是在实体类中写了几个字段,就可以自动编译为含setter.getter.toString()等方法的class文件.看着挺 ...

最新文章

  1. 深入剖析SolrCloud(一)
  2. java的collection集合
  3. 棋盘最短路径 python_Dijkstra 最短路径算法 Python 实现
  4. C语言atoi()函数(字符串转整数int类型)(atol()转换为long)
  5. PART 5: INTEGRATING SPRING SECURITY WITH SPRING BOOT WEB
  6. 探讨float类型的数值,为什么两个float不能直接相等
  7. poj1845 Sumdiv 题解报告
  8. OpenCV/CUDA/Qt 环境配置小结
  9. svmlib java_Libsvm Java
  10. 感性精品高清PSD美手分层海报,一键替换,奢华品、首饰、护肤品推荐临摹应用
  11. The netfilter.org project
  12. 安装eclipse的android adt 插件,eclipse安装ADT插件
  13. spss典型相关分析_R语言实战 多元统计分析Day10— —典型相关分析
  14. idea重写接口没有@override_【自学C#】|| 笔记 19 接口
  15. mysql utf8转gbk cmd_修改xampp的mysql数据库utf8mb4为gbk以解决cmd内中文显示为问号
  16. float,double和decimal类型
  17. 解决python写入文件数据不全的问题
  18. Kafka消费者启动报错: Not authorized to access group
  19. POJ3322Bloxorz I
  20. petalinux挂载88e1512、88e1111及base-t、base-x转换

热门文章

  1. 从杉车网新能源车选,看新能源汽车市场老派与新锐之争
  2. VC++ CTime COleDateTime的常用操作和比较
  3. Shell 命令执行可视化和告警工具
  4. SpringBoot @Around环绕通知错误
  5. 手机产品设计之用户引导
  6. HTTP Referer介绍和使用
  7. VCC、VDD、VSS、GND区别
  8. 关于renameTo的用法
  9. git push错误failed to push some refs to的解决
  10. 【知识图谱】实践篇——基于知识图谱的《红楼梦》人物关系可视化及问答系统实践:part7项目优化与打包