j2ee mybatis注解@Data,@TableName,@TableField使用方式

 更新时间:2024年04月17日 11:12:47   作者:大新软件技术部  
这篇文章主要介绍了j2ee mybatis注解@Data,@TableName,@TableField使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、@Data

@Data注解的主要作用是提高代码的简洁,使用这个注解可以省去实体类中大量的get()、 set()、 toString()等方法。

1、引入依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.4</version>
    <scope>provided</scope>
</dependency>

可以在IDEA编译器中添加lombok插件,File -> Setting -> Plugins -> 搜索lombok

2、添加注解

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {
    private String name;
    private String address;
    private Integer age;
    private String hobbit;
    private String phone;
}

自动生成的相关方法get()、 set()、 toString()等方法

3、其他相关注解

  • @Data:注在类上,提供类的get、set、equals、hashCode、toString等方法
  • @AllArgsConstructor:注在类上,提供类的全参构造
  • @NoArgsConstructor:注在类上,提供类的无参构造
  • @Setter:注在属性上,提供 set 方法
  • @Getter:注在属性上,提供 get 方法
  • @EqualsAndHashCode:注在类上,提供对应的 equals 和 hashCode 方法
  • @Log4j/@Slf4j:注在类上,提供对应的 Logger 对象,变量名为 log

二、注解@TableName、@TableField

@TableName(value = …)

当数据库名与实体类名不一致或不符合驼峰命名时,需要在此注解指定表名(不加这个注解默认将实体类的小写形式在db中寻找

@TableField 字段注解,该注解用于标识非主键的字段。将数据库列与 JavaBean 中的属性进行映射

@TableName(value = "t_dish")
public class Dish implements Serializable {
 
    private static final long serialVersionUID = 1L;
 
    @TableId(value = "dish_id", type = IdType.AUTO)
    private Long id;
    @TableField("name")
    //菜品名称
    private String name;
}

@TableId(type = …)

指定实体类的属性为对应的主键,主要有以下几种:

// 数据库ID自增
IdType.AUTO

// 该类型为未设置主键类型(默认)
IdType.NONE 
/**
 * 用户输入ID
 * <p>该类型可以通过自己注册自动填充插件进行填充</p>
 */
IdType.INPUT


/* 以下3种类型、只有当插入对象ID 为空,才自动填充。 */
//1.全局唯一ID (idWorker)
IdType.ID_WORKER
 
//2.全局唯一ID (UUID)
IdType.UUID
 
//3.字符串全局唯一ID (idWorker 的字符串表示)
IdType.ID_WORKER_STR

@TableField注解

1、 主要用来解决实体类的字段名与数据库中的字段名不匹配的问题(数据库user_addr,字段useraddr未驼峰)

2、 实体类中的属性字段在表中不存在的问题

// 用来解决数据库中的字段和实体类的字段不匹配问题
@TableField(value = "age")
 
// 用来解决实体类中有的属性但是数据表中没有的字段
@TableField(exist = false)  // 默认为true 

三、MybatisPlus中@TableField注解的使用 

字段填充策略 FieldFill 

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date gmtCreat;
 
    /**
     * 修改人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long modifierId;

对添加了注解@TableField(fill = FieldFill.INSERT_UPDATE)的字段在进行插入(insert)和更新(update)时进行自动填充。

(解释:后面会写配置自动填充的配置类,该配置类的作用用于配置自动填充的值)。

@TableField(exist=false)
 private String remark;

@TableField(exist=false)的作用

比如在实体类中有一个属性为remark,但是在数据库中没有这个字段,但是在执行插入操作时给实体类的remark属性赋值了,那么可以通过在实体类的remark属性上添加

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java哈夫曼树实例代码

    java哈夫曼树实例代码

    这篇文章主要为大家介绍了java哈夫曼树实例代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • Java设计模式之单例模式实例分析

    Java设计模式之单例模式实例分析

    这篇文章主要介绍了Java设计模式之单例模式,以实例形式较为详细的分析了单例模式的概念、定义及简单实现技巧,需要的朋友可以参考下
    2015-11-11
  • Java连接MYSQL数据库的详细步骤

    Java连接MYSQL数据库的详细步骤

    这篇文章主要为大家介绍了Java连接MYSQL数据库的详细步骤,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • java求最大公约数与最小公倍数的方法示例

    java求最大公约数与最小公倍数的方法示例

    这篇文章主要介绍了java求最大公约数与最小公倍数的方法,涉及java数值运算的相关操作技巧,并附带分析了eclipse环境下设置运行输入参数的相关操作技巧,需要的朋友可以参考下
    2017-11-11
  • mac下修改idea的jvm运行参数解决idea卡顿的情况

    mac下修改idea的jvm运行参数解决idea卡顿的情况

    这篇文章主要介绍了mac下修改idea的jvm运行参数解决idea卡顿的情况,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Java容器类源码详解 Deque与ArrayDeque

    Java容器类源码详解 Deque与ArrayDeque

    这篇文章主要介绍了Java容器类源码详解 Deque与ArrayDeque,Deque 接口继承自 Queue接口,但 Deque 支持同时从两端添加或移除元素,因此又被成为双端队列。,需要的朋友可以参考下
    2019-06-06
  • spring boot 3.3.0和mybatis plus 3.5.6版本冲突的问题解决

    spring boot 3.3.0和mybatis plus 3.5.6版本冲突

    这篇文章主要介绍了spring boot 3.3.0和mybatis plus 3.5.6版本冲突的问题解决,文中介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-07-07
  • SpringBoot+Elasticsearch实现数据搜索的方法详解

    SpringBoot+Elasticsearch实现数据搜索的方法详解

    Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。本文将利用SpringBoot整合Elasticsearch实现海量级数据搜索,需要的可以参考一下
    2022-05-05
  • Java启用Azure Linux虚拟机诊断设置

    Java启用Azure Linux虚拟机诊断设置

    这篇文章主要介绍了Java启用Azure Linux虚拟机诊断设置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • springboot集成@DS注解实现数据源切换的方法示例

    springboot集成@DS注解实现数据源切换的方法示例

    本文主要介绍了springboot集成@DS注解实现数据源切换的方法示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论