当前位置:网站首页>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进行网络单播(一服务器多客户端)仿真的设计、配置及注意点
- MySQL数据库学习(7) -- pymysql简单介绍
- 【oracle】简单的日期时间的格式化与排序问题
- Longest common subsequence (LCS) (dynamic programming, recursive)
- Array initialization of local variables
- 1.AVL树:左右旋-bite
- [JS component] date display.
- 最长回文子串(动态规划)
- Two person game based on bevy game engine and FPGA
- 一条 update 语句的生命经历
猜你喜欢
随机推荐
How can project managers counter attack with NPDP certificates? Look here
与利润无关的背包问题(深度优先搜索)
Longest palindrome substring (dynamic programming)
Simulate thread communication
Mysql database learning (7) -- a brief introduction to pymysql
【opencv】图像形态学操作-opencv标记不同连通域的位置
MySQL数据库学习(8) -- mysql 内容补充
[PHP SPL notes]
腾讯云数据库公有云市场稳居TOP 2!
照片选择器CollectionView
Harmonyos fourth training
Pytest testing framework -- data driven
AIDL 与Service
Writing process of the first paper
【QT】自定义控件-Loading
利用OPNET进行网络仿真时网络层协议(以QoS为例)的使用、配置及注意点
Sorry, I've learned a lesson
Photo selector collectionview
漏电继电器LLJ-100FS
Life experience of an update statement