在idea中,能提升编码效率的12种插件,你知道几个?


在idea中,能提升编码效率的12种插件,你知道几个?

文章插图
 
前言
基本上每个程序员都会写代码,但写代码的速度不尽相同 。
为什么有些人,一天只能写几百行代码?
而有些人,一天可以写几千行代码?
有没有办法,可以提升开发效率,在相同的时间内,写出更多的代码呢?
今天我跟大家一起聊聊在idea中,能提升编码效率的12种插件,希望对大家有所帮助 。
在idea中,能提升编码效率的12种插件,你知道几个?

文章插图
 
1、lombok
之前对lombok还有争议,到底该不该在项目中使用,为此我还专门写了一篇文章《迷茫了,我们该不该用lombok?》 。
现在新版的idea已经内置了lombok插件,所以用它是一种趋势 。
我之所以把lombok放在整篇文章的第一个介绍,是因为它真的可以帮我少写很多代码,特别是entity、DTO、VO、BO中的 。
我们用User类举例,以前定义JAVAbean需要写如下代码:
public class User {private Long id;private String name;private Integer age;private String address;public User() {public User(Long id, String name, Integer age, String address) {this.id = id;this.name = name;this.age = age;this.address = address;public Long getId() {return id;public String getName() {return name;public Integer getAge() {return age;public String getAddress() {return address;public void setId(Long id) {this.id = id;public void setName(String name) {this.name = name;public void setAge(Integer age) {this.age = age;public void setAddress(String address) {this.address = address;@Overridepublic boolean equals(Object o) {if (this == o) returntrue;if (o == null || getClass() != o.getClass()) returnfalse;User user = (User) o;return Objects.equals(id, user.id) &&Objects.equals(name, user.name) &&Objects.equals(age, user.age) &&Objects.equals(address, user.address);@Overridepublic int hashCode() {return Objects.hash(id, name, age, address);@Overridepublic String toString() {return"User{" +"id=" + id +", name='" + name + ''' +", age=" + age +", address='" + address + ''' +
该User类中包含了:成员变量、getter/setter方法、构造方法、equals、hashCode方法 。
咋一看,代码还是挺多的 。而且还有个问题,如果User类中的代码修改了,比如:age字段改成字符串类型,或者name字段名称修改了,是不是需要同步修改相关的成员变量、getter/setter方法、构造方法、equals、hashCode方法全都修改一遍?
好消息是用lombok可以解决这个问题 。
如果是idea2020.3之前的版本,需要在idea中安装如下插件:
在idea中,能提升编码效率的12种插件,你知道几个?

文章插图
 
但idea2020.3之后,idea已经内置了lombok的功能 。
有了lombok插件,现在我们在idea只用这样写代码,就能实现上面的功能了:
@ToString@EqualsAndHashCode@NoArgsConstructor@AllArgsConstructor@Getter@Setterpublic class User {private Long id;private String name;private Integer age;private String address;
简直太轻松了,真的可以少写很多代码 。
此外,我们还需要在项目的pom文件中,引入lombok的依赖包,不然项目会跑不起来 。
2、Free MyBatis plugin
在国内mybatis已经成为了最主流的数据库框架了,该框架属于半自动化的ORM持久化框架,相对于hibernate这种全自动化的持久化框架更灵活,性能更高 。
在mybatis中,我们需要自己定义mApper和对应的xml文件完成绑定 。
在这里我们以用户表为例,首先需要定义UserMapper接口:
public interface UserMapper {int insertUser(UserModel user);
然后需要UserMapper.xml配置文件:
DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">id, name, age, sexINSERT INTO userid,name,age,sex,#{id},#{name},#{age},#{sex},
UserMapper.xml文件中,mapper标签的namespace对应UserMapper接口名,而insert标签的id=insertUser,正好对应UserMapper接口中的insertUser方法 。
那么,在项目中如何通过UserMapper类中的getUser方法,能够快速访问UserMapper.xml文件中的getUser方法?
答:这就需要使用Free Mybatis plugin插件了 。


推荐阅读