亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時(shí)間:2024年04月17日 11:12:47   作者:大新軟件技術(shù)部  
這篇文章主要介紹了j2ee mybatis注解@Data,@TableName,@TableField使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、@Data

@Data注解的主要作用是提高代碼的簡潔,使用這個(gè)注解可以省去實(shí)體類中大量的get()、 set()、 toString()等方法。

1、引入依賴

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

可以在IDEA編譯器中添加lombok插件,F(xiàn)ile -> 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;
}

自動(dòng)生成的相關(guān)方法get()、 set()、 toString()等方法

3、其他相關(guān)注解

  • @Data:注在類上,提供類的get、set、equals、hashCode、toString等方法
  • @AllArgsConstructor:注在類上,提供類的全參構(gòu)造
  • @NoArgsConstructor:注在類上,提供類的無參構(gòu)造
  • @Setter:注在屬性上,提供 set 方法
  • @Getter:注在屬性上,提供 get 方法
  • @EqualsAndHashCode:注在類上,提供對(duì)應(yīng)的 equals 和 hashCode 方法
  • @Log4j/@Slf4j:注在類上,提供對(duì)應(yīng)的 Logger 對(duì)象,變量名為 log

二、注解@TableName、@TableField

@TableName(value = …)

當(dāng)數(shù)據(jù)庫名與實(shí)體類名不一致或不符合駝峰命名時(shí),需要在此注解指定表名(不加這個(gè)注解默認(rèn)將實(shí)體類的小寫形式在db中尋找

@TableField 字段注解,該注解用于標(biāo)識(shí)非主鍵的字段。將數(shù)據(jù)庫列與 JavaBean 中的屬性進(jìn)行映射

@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 = …)

指定實(shí)體類的屬性為對(duì)應(yīng)的主鍵,主要有以下幾種:

// 數(shù)據(jù)庫ID自增
IdType.AUTO

// 該類型為未設(shè)置主鍵類型(默認(rèn))
IdType.NONE 
/**
 * 用戶輸入ID
 * <p>該類型可以通過自己注冊(cè)自動(dòng)填充插件進(jìn)行填充</p>
 */
IdType.INPUT


/* 以下3種類型、只有當(dāng)插入對(duì)象ID 為空,才自動(dòng)填充。 */
//1.全局唯一ID (idWorker)
IdType.ID_WORKER
 
//2.全局唯一ID (UUID)
IdType.UUID
 
//3.字符串全局唯一ID (idWorker 的字符串表示)
IdType.ID_WORKER_STR

@TableField注解

1、 主要用來解決實(shí)體類的字段名與數(shù)據(jù)庫中的字段名不匹配的問題(數(shù)據(jù)庫user_addr,字段useraddr未駝峰)

2、 實(shí)體類中的屬性字段在表中不存在的問題

// 用來解決數(shù)據(jù)庫中的字段和實(shí)體類的字段不匹配問題
@TableField(value = "age")
 
// 用來解決實(shí)體類中有的屬性但是數(shù)據(jù)表中沒有的字段
@TableField(exist = false)  // 默認(rèn)為true 

三、MybatisPlus中@TableField注解的使用 

字段填充策略 FieldFill 

    /**
     * 創(chuàng)建時(shí)間
     */
    @TableField(fill = FieldFill.INSERT)
    private Date gmtCreat;
 
    /**
     * 修改人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long modifierId;

對(duì)添加了注解@TableField(fill = FieldFill.INSERT_UPDATE)的字段在進(jìn)行插入(insert)和更新(update)時(shí)進(jìn)行自動(dòng)填充。

(解釋:后面會(huì)寫配置自動(dòng)填充的配置類,該配置類的作用用于配置自動(dòng)填充的值)。

@TableField(exist=false)
 private String remark;

@TableField(exist=false)的作用

比如在實(shí)體類中有一個(gè)屬性為remark,但是在數(shù)據(jù)庫中沒有這個(gè)字段,但是在執(zhí)行插入操作時(shí)給實(shí)體類的remark屬性賦值了,那么可以通過在實(shí)體類的remark屬性上添加

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論