MybatisGenerator+lombok
先继承Mybatis的插件适配器, 写一个自己的插件
package org.mybatis.generator.plugins;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;import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;/*** @author Liweizhou 2018/6/6*/
public class LombokPlugin extends PluginAdapter {@Overridepublic boolean validate(List<String> list) {return true;}@Overridepublic boolean modelBaseRecordClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {//添加domain的importtopLevelClass.addImportedType("lombok.Data");topLevelClass.addImportedType("lombok.Builder");topLevelClass.addImportedType("lombok.NoArgsConstructor");topLevelClass.addImportedType("lombok.AllArgsConstructor");//添加domain的注解topLevelClass.addAnnotation("@Data");topLevelClass.addAnnotation("@Builder");topLevelClass.addAnnotation("@NoArgsConstructor");topLevelClass.addAnnotation("@AllArgsConstructor");//添加domain的注释topLevelClass.addJavaDocLine("/**");topLevelClass.addJavaDocLine("* Created by Mybatis Generator on " + date2Str(new Date()));topLevelClass.addJavaDocLine("*/");return true;}@Overridepublic 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;}@Overridepublic boolean modelSetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType) {//不生成getterreturn false;}@Overridepublic boolean modelGetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType) {//不生成setterreturn false;}private String date2Str(Date date) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");return sdf.format(date);}
}
首先在本机编译这份java文件, 生成的字节码文件(.class), 先到maven仓库的这个目录
org\mybatis\generator\mybatis-generator-core\1.3.5 (版本无所谓, 根据自己情况修改)
找到这个mybatis-generator-core-1.3.5.jar文件
把字节码塞到 jar包对应的包文件夹下面
mybatis-generator.xml大概如下: 留意标签的位置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><context id="postgresql" targetRuntime="MyBatis3"><plugin type="org.mybatis.generator.plugins.LombokPlugin" ><property name="hasLombok" value="true"/></plugin><!--关闭注释 --><commentGenerator><property name="suppressAllComments" value="true"/></commentGenerator><!--数据库连接信息 --><jdbcConnection driverClass="org.postgresql.Driver"connectionURL=""userId="" password=""></jdbcConnection><!--生成的model 包路径 --><javaModelGenerator targetPackage="com.lwz.dao.generator.model"targetProject="src/main/java"><property name="enableSubPackages" value="true"/></javaModelGenerator><!--生成xml mapper文件 路径 --><sqlMapGenerator targetPackage="mapper/generator" targetProject="src/main/resources"><property name="enableSubPackages" value="true"/></sqlMapGenerator><!-- 生成的Dao接口 的包路径 --><javaClientGenerator type="XMLMAPPER" targetPackage="com.lwz.dao.generator.mapper" targetProject="src/main/java"><property name="enableSubPackages" value="true"/></javaClientGenerator><!--对应数据库表名 --><table tableName="example"></table></context>
</generatorConfiguration>
/**
* Created by Mybatis Generator on 2018/06/06
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Example{
MybatisGenerator+lombok相关推荐
- Day14(springboot与mybatis整合、mybatis自动代码生成、swagger、thymeleaf、lombok环境配置、mybatisPlus介绍(自动代码生成))
srpingboot和mybatis整合 springbootSSM项目下载地址 链接:https://pan.baidu.com/s/11fwh1C7ZOg3jQVlXl2DJjQ 提取码:83yt ...
- 三个插件Lombok、MBG和通用mapper文件的使用
一.Lombok Lombok 是一个简化Java代码的工具 作用:能通过注解的方式,在编译时自动为类生成构造器.get/set.equals.toString.hashcode方法 使用: 1.引入 ...
- java if (name!=null name!=),命名不规范,lombok泪两行!
序言 去年在项目当中引入了Lombok插件,着实解放了双手,代替了一些重复的简单工作(Getter,Setter,toString等方法的编写). 但是,在使用的过程当中,也发现了一些坑,开始的时候并 ...
- 【java】Lombok的使用
介绍:lombok在编译entity文件时自动生成get set toString hashCode等方法,这样方法生成就不用写在代码里了,可以简化代码. 使用方法: 一.在pom文件里引入lombo ...
- 40.lombok在IntelliJ IDEA下的使用
转自:https://www.cnblogs.com/yjmyzz/p/lombok-with-intellij-idea.html lombok是一款可以精减java代码.提升开发人员生产效率的辅助 ...
- eclipse集成lombok
个人资源免费分享网站:http://xiaocaoshare.com/ 进入lombok.jar所在目录,执行java -jar lombok.jar命令 选择要集成的ide 点击Install / ...
- elcipse 安装lombok插件解决 @Slf4j 等找不到log变量问题
1.前往官网下载:https://projectlombok.org/download lombok.jar 2.将lombok.jar放在eclipse的安装目录下. 3.在eclipse的安装 ...
- 代码洁癖的春天!Java 效率工具之 Lombok
点击上方"搜云库技术团队",选择"设为星标" 回复"1024"或"面试题"获取学习资料 还在编写无聊枯燥又难以维护的PO ...
- Lombok!代码简洁神器还是代码“亚健康”元凶?
以下文章来源方志朋的博客,回复"666"获面试宝典 关于Lombok,DD是一个重度用户,从我编写的Spring Boot教程还是Spring Cloud教程中,都可以看到几乎每个 ...
最新文章
- Spring基础专题——第五章(Aop代理)
- epoll 或者 kqueue 的原理是什么?
- 爱立信和威瑞森电信使用VR流式车来测试5G
- leetcode算法题--Unique Binary Search Trees II
- javascript精要(1)-script元素
- Oracle 创建函数的权限
- IOT物联网观察之物联网是器,大数据是魂,人工智能是手段!
- View的绘制-layout流程详解
- vue兄弟组件之间的传值,bus运用,beforeDestroy销毁,Bus.$off
- 【英语学习】【Daily English】U15 Culture L01 You'll be used to life here before long
- love2d杂记4--有用的辅助库
- 路人实拍Waymo无人车:行为诡异,谨慎到让人怀疑人生
- 【目标检测】SPPNet算法详解
- 解决Eclipse开发工具Debug调试JDK源码无法查看变量值
- paip.win32的internet扩展已停止工作解决大法
- flashcp: verification mismatch at 0x0
- 算法编程10:岛屿的最大面积
- SmartCash会止步于替代葡萄牙及瑞士境内的西联汇款和TransferWise服务吗?
- 划词翻译脚本--AutoHotkey
- Internet History, Technology and Security (Week⑨)
热门文章
- 【Vue2.0】— 插件(十六)
- JavaScript学习(九十三)—选择排序和冒泡排序
- 力扣 有序数组的平方
- 买SUV要不要选四驱,有哪些区别?
- 请问孩子厌学的话该怎么办?
- 厉精图治的拼音及解释
- 你就要清楚的知道,自己日后的“盈利模式”是什么?
- Python的模板:HTML代码 + 模板语法
- Huawei is developing a new future technology
- error LNK2019 无法解析的外部符号 _WinMain@16,该符号在函数 “int __cdecl invoke_main(void)“