java实体类没有映射文件_MyBatis自动生成实体类、DAO和XML映射文件,并去掉实体类中的getter和setter方法...
今天花了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方法...相关推荐
- 安装Ruby、Sass在WebStrom添加Watcher实现编辑scss文件时自动生成.map和压缩后的.css文件...
前言 这段时间一直在看Bootstrap,V3官方直接提供了Less版本的源码,就先将Less学完了,很简单的语法,学习写Demo都是在Webstorm里写的,配置了Watcher自动编译(详见< ...
- 在WebStorm里配置watcher实现编辑less文件时自动生成.map和压缩后的.css文件
1.操作前确定成功安装less,检测方法,在命令行(cmd),输入lessc -v,看到如下类似内容,则说明安装过了. 如果需要生成压缩后的css的文件,则需要通过以下命令安装插件 npm in ...
- mysql xml生成工具_自动生成po、dao、xml 工具:mybatis-generator
需要注意:文件路径关系,xml路径,jar包路径,以及xml中生成文件的路径等. 由于MyBatis属于一种半自动的ORM框架,所以主要的工作将是书写Mapping映射文件,但是由于手写映射文件很容易 ...
- java中getter 和 setter 方法有什么意义?为什么不用public代替GS?
知乎里的一个答案:https://www.zhihu.com/question/21401198 的确可以暴露,如果1. 所有内外代码都是你自己写:2. 这个模块再也不改了:3. 不会继承它,或者继承 ...
- 【Groovy】Groovy 方法调用 ( Java 类成员及 setter 和 getter 方法设置 | Groovy 类自动生成成员的 getter 和 setter 方法 )
文章目录 一.Java 类成员及 setter 和 getter 方法设置 二.Groovy 类自动生成成员的 getter 和 setter 方法 一.Java 类成员及 setter 和 gett ...
- 根据tt文件模板自动生成代码
根据tt文件模板自动生成代码,下面依赖一个edmx,生成代码文件 <span style="font-size:12px;color:#000000;"><#@ ...
- 文件夹自动生成html画廊,【桌面自动生成文件夹】桌面自动生成网站_桌面自动生成tmp文件-系统城...
2017-01-26 13:59:36 浏览量:11190 有的用户发现自己的电脑系统中,总是会在桌面上生成一个名称为MobileFile的文件夹.其实,这个MobileFile文件夹是QQ相关的文件 ...
- Python创建文件时自动生成文件信息
Python创建文件时自动生成文件信息 在创建python脚本文件时,对文件初始化自动生成一些文件信息来进行设置 1 打开路径 2 调整面板 3 面板填写样式 参考链接 Pycharm创建文件时自动生 ...
- 基于注解处理器开发自动生成getter和setter方法的插件
昨天无意中,逛到了lombok的网站,并看到了首页的5分钟视频,视频中的作者只是在实体类中写了几个字段,就可以自动编译为含setter.getter.toString()等方法的class文件.看着挺 ...
最新文章
- 深入剖析SolrCloud(一)
- java的collection集合
- 棋盘最短路径 python_Dijkstra 最短路径算法 Python 实现
- C语言atoi()函数(字符串转整数int类型)(atol()转换为long)
- PART 5: INTEGRATING SPRING SECURITY WITH SPRING BOOT WEB
- 探讨float类型的数值,为什么两个float不能直接相等
- poj1845 Sumdiv 题解报告
- OpenCV/CUDA/Qt 环境配置小结
- svmlib java_Libsvm Java
- 感性精品高清PSD美手分层海报,一键替换,奢华品、首饰、护肤品推荐临摹应用
- The netfilter.org project
- 安装eclipse的android adt 插件,eclipse安装ADT插件
- spss典型相关分析_R语言实战 多元统计分析Day10— —典型相关分析
- idea重写接口没有@override_【自学C#】|| 笔记 19 接口
- mysql utf8转gbk cmd_修改xampp的mysql数据库utf8mb4为gbk以解决cmd内中文显示为问号
- float,double和decimal类型
- 解决python写入文件数据不全的问题
- Kafka消费者启动报错: Not authorized to access group
- POJ3322Bloxorz I
- petalinux挂载88e1512、88e1111及base-t、base-x转换