Intelli J中好用和提高生产力的插件:Lombok 和Free Mybatis Plugin

简介: 开头:做过Java的同学都知道,对编写Bean.class,要写很多Setter和Getter函数,当然我们可以利用IDE中的自带的Setter,Getter插件,完成Bean的属性函数编写例如,在Mac 中的In...

开头:

做过Java的同学都知道,对编写Bean.class,要写很多Setter和Getter函数,当然我们可以利用IDE中的自带的Setter,Getter插件,完成Bean的属性函数编写

例如,在Mac 中的Intelli J中

直接用command+N,或者右键点击Generate

当然,这种方式还是不够简洁,当属性特别多的时候,整个类都是setter和getter函数,挺烦人的;当你要删除和添加属性的时候,也会很繁琐

Lombok插件:

在Intelli J,Lombok插件就应运而生了,我们就来直接看效果吧,

import lombok.Data;


@Data
public class Product {
    private int id;
}

直接使用类的声明上面添加@Data,或者在属性上添加@Setter或者@Getter

import lombok.Getter;
import lombok.Setter;


public class Product {
    @Setter
    @Getter
    private int id;
}

当然,利用@AllArgsConstructor,也可以自动生成构造函数

import lombok.AllArgsConstructor;
import lombok.Data;

@Data
@AllArgsConstructor //所有参数作为构造函数
public class Product {

    private int id;
}

 

原理:

利用注解,在编译的时期,通过一种抽象语法树,自动匹配和生成Setter和Getter函数

下面就是编译后的.class文件,可以看出整个过程和结果还是很容易理解的,只要你理解注解的原理

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

public class Product {
    private int id;

    public Product() {
    }

    public int getId() {
        return this.id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof Product)) {
            return false;
        } else {
            Product other = (Product)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                return this.getId() == other.getId();
            }
        }
    }

    protected boolean canEqual(Object other) {
        return other instanceof Product;
    }

    public int hashCode() {
        int PRIME = true;
        int result = 1;
        int result = result * 59 + this.getId();
        return result;
    }

    public String toString() {
        return "Product(id=" + this.getId() + ")";
    }
}

2.Free Mybaits Plugin:

做Java EE的时候,用到最多的ORM框架应该就是MyBaits了

MyBaits的主要结构就是service.java,mapper.java,mapper.xml组成,可以简单地理解下,service主要是提供业务接口的,mapper.class就是提供数据库接口的,mapper.xml就是操作数据库的;差不多就是这样的流程,service-->mapper.java-->mapper.xml,其中,mapper.java也和mapper.xml一一对应

如果我们手动编写这些代码,是不是很繁琐,本来Mybaits是帮我们屏蔽了很多数据库操作的细节的,可是,我们还是要编写很多代码和执行很多操作

当然肯定会有各种插件来帮我们减少代码量和操作量,针对Mybaits,国人做了一个插件:https://github.com/wuzhizhan/free-idea-mybatis,这个插件怎么用呢?

请打开这个链接,里面说得很详细,

 

 

安装方法:

以Lombok为例

1.直接在Intelli J中Preference--->Plugins--->搜索Lombok

2.上面的方法,可能会经常读取超时的问题,因为我们就需要先把插件文件下载本地,然后从本地安装下载

首先直接百度搜索插件,然后下载本地(推荐方法2)

然后,从Preference--->Plugins--->从本地安装

总结:

在Java这个庞大可持续的生态链中,各种个样的插件都很多,紧跟最新技术发展,那我们的编程效率就会高很多,我们就可以专心在业务中去。当然也要懂基本的原理,遇到问题才能从容应对

 

目录
相关文章
|
2月前
|
Java 数据库连接 Maven
使用mybatis插件generator生成实体类,dao层和mapper映射
使用mybatis插件generator生成实体类,dao层和mapper映射
47 0
|
10天前
|
SQL Java 数据库连接
【mybatis】第一篇,Springboot中使用插件PageHelper不生效解决方案
【mybatis】第一篇,Springboot中使用插件PageHelper不生效解决方案
|
2月前
|
XML 监控 druid
【Java专题_02】springboot+mybatis+pagehelper分页插件+druid数据源详细教程
【Java专题_02】springboot+mybatis+pagehelper分页插件+druid数据源详细教程
|
3月前
|
Java 数据库连接 数据库
【MyBatis】tkMapper 插件
【1月更文挑战第14天】【MyBatis】tkMapper 插件
|
3月前
|
Java 数据库连接 mybatis
Mybatis之分页插件
【1月更文挑战第5天】 一、分页插件使用步骤 1、添加依赖 2、配置分页插件 二、分页插件的使用 1、开启分页功能 2、分页相关数据 方法一:直接输出 方法二使用PageInfo 常用数据:
49 1
|
3月前
|
Java 数据库连接 Maven
MyBatis分页插件
MyBatis分页插件
|
3月前
|
Java 关系型数据库 MySQL
一文彻底搞懂Mybatis系列(十七)之MyBatis使用分页插件PageHelper
一文彻底搞懂Mybatis系列(十七)之MyBatis使用分页插件PageHelper
|
4月前
|
Java 数据库连接 数据安全/隐私保护
MyBatis中的插件分析与开发
MyBatis中的插件分析与开发
30 0
|
4月前
|
SQL 缓存 Java
MyBatis Plus插件机制与执行流程原理分析
MyBatis Plus插件机制与执行流程原理分析
234 0
|
4月前
|
设计模式 Java 数据库连接
学会自己编写Mybatis插件(拦截器)实现自定义需求2
学会自己编写Mybatis插件(拦截器)实现自定义需求
60 0