欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

@TableName注解和@Table的區(qū)別及說(shuō)明

 更新時(shí)間:2022年01月15日 10:50:52   作者:A二十歲的某一天  
這篇文章主要介紹了@TableName注解和@Table的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@TableName注解和@Table區(qū)別

最近開(kāi)發(fā)項(xiàng)目的時(shí)候,從一個(gè)項(xiàng)目遷移代碼到另一個(gè)項(xiàng)目,原有項(xiàng)目用的是Hibernate,現(xiàn)有項(xiàng)目用的是mybatis-plus,代碼遷移過(guò)來(lái)后,schema屬性用于指定數(shù)據(jù)庫(kù)實(shí)例名。

但是@Table屬性schema在mybatis-plus框架中失效了,一直找不到對(duì)應(yīng)的實(shí)例名。 

前言

@TableName是mybatis-plus中的注解,主要是實(shí)現(xiàn)實(shí)體類(lèi)型和數(shù)據(jù)庫(kù)中的表實(shí)現(xiàn)映射。

注意,不要將@TableName和@Table注解認(rèn)為是一個(gè),雖然功能相同,但是,@TableName是mybatis-plus中的注解,@Table是Hibernate中的注解。

@TableName參數(shù)說(shuō)明

在這里插入圖片描述

@TableName源碼

public @interface TableName {
    java.lang.String value() default "";
    java.lang.String schema() default "";
    boolean keepGlobalPrefix() default false;
    java.lang.String resultMap() default "";
    boolean autoResultMap() default false;
}

@TableName使用

@TableName("sys_user")
// 該注解主要是現(xiàn)實(shí)實(shí)體類(lèi)型和數(shù)據(jù)庫(kù)中的表實(shí)現(xiàn)映射。
public class SysUser implements Serializable {
    @TableId(type= IdType.AUTO)
    private Long id;
    private String username;
    //用戶名
    private String loginName;
    //登錄密碼,密碼需要加密
    private String password;
}

@Table

當(dāng)實(shí)體類(lèi)與其映射的數(shù)據(jù)庫(kù)表名不同名時(shí)需要使用 @Table 標(biāo)注說(shuō)明,該標(biāo)注與 @Entity 標(biāo)注并列使用,置于實(shí)體類(lèi)聲明語(yǔ)句之前,可寫(xiě)于單獨(dú)語(yǔ)句行,也可與聲明語(yǔ)句同行。

@Table 標(biāo)注的常用選項(xiàng)是 name,用于指明數(shù)據(jù)庫(kù)的表名

@Table標(biāo)注還有一個(gè)兩個(gè)選項(xiàng) catalog 和 schema 用于設(shè)置表所屬的數(shù)據(jù)庫(kù)目錄或模式,通常為數(shù)據(jù)庫(kù)名。uniqueConstraints選項(xiàng)用于設(shè)置約束條件,通常不須設(shè)置。

  • name屬性

name屬性用于指定數(shù)據(jù)庫(kù)表名稱(chēng)

若不指定則以實(shí)體類(lèi)名稱(chēng)作為表名

  • catalog屬性

catalog屬性用于指定數(shù)據(jù)庫(kù)實(shí)例名

當(dāng)catalog屬性不指定時(shí),新創(chuàng)建的表將出現(xiàn)在url指定的數(shù)據(jù)庫(kù)實(shí)例中

當(dāng)catalog屬性設(shè)置名稱(chēng)時(shí),若數(shù)據(jù)庫(kù)存在和指定名稱(chēng)一致的實(shí)例,新創(chuàng)建的表將出現(xiàn)在該實(shí)例中

  • schema屬性

作用與catalog屬性作用一致,可自行測(cè)試

  • uniqueConstraints屬性

uniqueConstraints屬性用于設(shè)定約束條件

@Table(name="CUSTOMERS",uniqueConstraints={@UniqueConstraint(columnNames={"name"})})
@Entity
public class Customer {
    private Integer id;
    private String name;
    private String email;
    private int age;
    ......
}

小結(jié)一下

1.當(dāng)實(shí)體類(lèi)名和數(shù)據(jù)庫(kù)表名不一致時(shí),name屬性可以實(shí)現(xiàn)映射,及時(shí)表名一致,也推薦使用,提高程序的可讀性

2.catalog和sechema屬性一般不需要指定

3.uniqueConstraints屬性一般也不需要指定,但是如有需要?jiǎng)t可以指定

Table(name=“xx“)與Entity(name=“xx“) 問(wèn)題

@Entity
@Table(name="T_qibie")

這樣寫(xiě)的話在hql里要用實(shí)體的名字 from QibieVo

如果是這樣的話

@Entity(name="T_qibie")

這樣寫(xiě)的話在hql里要用表的名字 from T_qibie

還有有時(shí)候只能用@Entity(name="T_qibie")的話,可能是:JAVAEE6.0中的 javax.persistence.jar與 hibernate中的hibernate-jpa-2.1-api-1.0.0.Final.jar沖突 ,而我采取的措施是刪除了JAVAEE6.0的庫(kù),運(yùn)行就正常了,然后在加進(jìn)來(lái)有正常了 。

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

相關(guān)文章

  • Spring Cloud Ribbon負(fù)載均衡器處理方法

    Spring Cloud Ribbon負(fù)載均衡器處理方法

    這篇文章主要介紹了Spring Cloud Ribbon負(fù)載均衡器處理方法,看看是如何獲取服務(wù)實(shí)例,獲取以后做了哪些處理,處理后又是如何選取服務(wù)實(shí)例的,需要的朋友可以參考下
    2018-02-02
  • Springboot整合Activiti操作詳解

    Springboot整合Activiti操作詳解

    這篇文章主要給大家詳細(xì)介紹了Springboot整合Activiti的操作流程,文中流程步驟和代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-07-07
  • SpringBoot整合Canal與RabbitMQ監(jiān)聽(tīng)數(shù)據(jù)變更記錄

    SpringBoot整合Canal與RabbitMQ監(jiān)聽(tīng)數(shù)據(jù)變更記錄

    這篇文章主要介紹了SpringBoot整合Canal與RabbitMQ監(jiān)聽(tīng)數(shù)據(jù)變更記錄,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Springboot+WebSocket+Netty實(shí)現(xiàn)在線聊天/群聊系統(tǒng)

    Springboot+WebSocket+Netty實(shí)現(xiàn)在線聊天/群聊系統(tǒng)

    這篇文章主要實(shí)現(xiàn)在好友添加、建群、聊天對(duì)話、群聊功能,使用Java作為后端語(yǔ)言進(jìn)行支持,界面友好,開(kāi)發(fā)簡(jiǎn)單,文章中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2023-08-08
  • Java 匯編JVM編寫(xiě)jasmin程序的操作方法

    Java 匯編JVM編寫(xiě)jasmin程序的操作方法

    這篇文章主要介紹了Java 匯編JVM編寫(xiě)jasmin程序的操作方法,本文通過(guò)幾個(gè)示例講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • SpringBoot 回滾操作的幾種實(shí)現(xiàn)方式

    SpringBoot 回滾操作的幾種實(shí)現(xiàn)方式

    回滾操作是一種常見(jiàn)的操作,用于撤銷(xiāo)之前執(zhí)行的操作,本文主要介紹了SpringBoot回滾操作的幾種實(shí)現(xiàn)方式,包含基于異常類(lèi)型的回滾、基于自定義邏輯的回滾和基于數(shù)據(jù)庫(kù)狀態(tài)的回滾,感興趣的可以了解一下
    2024-03-03
  • jvm crash的崩潰日志詳細(xì)分析及注意點(diǎn)

    jvm crash的崩潰日志詳細(xì)分析及注意點(diǎn)

    本篇文章主要介紹了jvm crash的崩潰日志詳細(xì)分析及注意點(diǎn)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-04-04
  • JAVA進(jìn)程突然消失問(wèn)題解決方案

    JAVA進(jìn)程突然消失問(wèn)題解決方案

    這篇文章主要介紹了JAVA進(jìn)程突然消失問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • springboot集成ES實(shí)現(xiàn)磁盤(pán)文件全文檢索的示例代碼

    springboot集成ES實(shí)現(xiàn)磁盤(pán)文件全文檢索的示例代碼

    這篇文章主要介紹了springboot集成ES實(shí)現(xiàn)磁盤(pán)文件全文檢索的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Java中的static靜態(tài)代碼塊的使用詳解

    Java中的static靜態(tài)代碼塊的使用詳解

    本篇文章介紹了,Java中的static靜態(tài)代碼塊的使用詳解。需要的朋友參考下
    2013-04-04

最新評(píng)論