当前位置:网站首页>Lombok插件
Lombok插件
2022-07-06 23:34:00 【PIKapikaaaa】
Lombok插件
lombok插件简介
lombok是一个插件,用途是使用注解给你类里面的字段,自动的加上属性构造器,ToString方法,Equals方法等等。
比较方便的一点是,你在更改字段的时候,lombok会立即发生改变以保持和你代码的一致性。
常用的 lombok 注解介绍
@Getter :可以自动生成参数的getter方法。
@Setter :可以自动生成参数的setter方法
@ToString :调用toString()方法,可以输出实体类中所有属性的值
@RequiredArgsConstructor:会生成一个包含常量,和标识了NotNull的变量的构造方法。生成的构造方法是私有的private。这个用的很少。
@EqualsAndHashCode
1.它会生成equals和hashCode方法
2.默认使用非静态的属性
3.可以通过exclude参数排除不需要生成的属性
@EqualsAndHashCode(exclude = {“表中字段1”, “表中字段2”})
4.可以通过of参数来指定需要生成的属性
@EqualsAndHashCode(of = {“表中字段1”, “表中字段2”})
5.它默认不调用父类的方法,只使用本类定义的属性进行操作,可以使用callSuper=true来解决,会在@Data中进行讲解。
@Data:这个注解其实是以上五个注解的合体—@Getter、@Setter、@RequiredArgsConstructor、@ToString、@EqualsAndHashCode
@NoArgsConstructor:生成一个无参数的构造方法。
@AllArgsConstructor:生成一个包含所有变量的构造方法。
@Value:这个注解要和Spring的@Value注解区分,Spring的是从配置文件读取内容,这个注解是在类中的所有字段默认全部声明为private final类型,只会生成Getter方法,不会生成Setter方法,很少用。
@Cleanup:主要用于关闭资源使用。
idea安装lombok插件
首先我们需要安装IntelliJ IDEA中的lombok插件。
打开IntelliJ IDEA后点击菜单栏中的File–>Settings,或者使用快捷键Ctrl+Alt+S进入到设置页面

安装完后重启idea—【本人idea版本为2021】
lombok插件的使用
@Data
@AllArgsConstructor
@NoArgsConstructor
// 用来表示实体类和数据库表的映射关系,当实体类名称和表的名称不相同时一定加 @TableName
@TableName("user")
public class User {
// 表示使用数据库自增策略
@TableId(type = IdType.AUTO)
private Long id;
// 当实体类中的属性名与数据库的字段名不一致的时候,可以使用 注解:@TableField 来表示映射关系
@TableField("name")
private String username;
private Integer age;
private String email;
// @TableField(exist = false) 表示 数据库表中没有该字段的情况,映射转换sql语句的时候不会拼上此字段
@TableField(exist = false)
private Date birthday;
public User(String name, Integer age, String email) {
this.username = name;
this.age = age;
this.email = email;
}
}
me = name;
this.age = age;
this.email = email;
}
}
边栏推荐
猜你喜欢

利用OPNET进行网络指定源组播(SSM)仿真的设计、配置及注意点

Complete code of C language neural network and its meaning

阿里云的神龙架构是怎么工作的 | 科普图解

Record a pressure measurement experience summary

Use Zhiyun reader to translate statistical genetics books

《5》 Table

Harmonyos fourth training

高级程序员必知必会,一文详解MySQL主从同步原理,推荐收藏

基于 hugging face 预训练模型的实体识别智能标注方案:生成doccano要求json格式

AOSP ~binder communication principle (I) - Overview
随机推荐
How can project managers counter attack with NPDP certificates? Look here
[JS component] date display.
The sooner you understand the four rules of life, the more blessed you will be
【opencv】图像形态学操作-opencv标记不同连通域的位置
QSlider of QT control style series (I)
Photo selector collectionview
[question] Compilation Principle
最长公共子序列(LCS)(动态规划,递归)
Most commonly used high number formula
ASP. Net MVC - resource cannot be found error - asp Net MVC – Resource Cannot be found error
高压漏电继电器BLD-20
2039: [蓝桥杯2022初赛] 李白打酒加强版 (动态规划)
U++4 interface learning notes
一条 update 语句的生命经历
【最佳网页宽度及其实现】「建议收藏」
pytest测试框架——数据驱动
MySQL数据库学习(7) -- pymysql简单介绍
AOSP ~binder communication principle (I) - Overview
What changes will PMP certification bring?
磁盘监控相关命令