基于Column注解的columnDefinition用法
更新時間:2021年10月25日 08:39:50 作者:Wonder丶丶丶
這篇文章主要介紹了Column注解的columnDefinition用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
Column注解的columnDefinition使用
columnDefinition屬性表示創(chuàng)建表時,該字段創(chuàng)建的SQL語句,一般用于通過Entity生成表定義時使用,如果數(shù)據(jù)庫中表已經(jīng)建好,該屬性沒有必要使用
1、指定字段類型、長度、是否允許null、是否唯一、默認值
/** 倉庫編號 */ @Column(name = "code",columnDefinition = "Varchar(100) not null default'' unique") private String code;
2、需要特殊指定字段類型的情況
@Column(name = "remark",columnDefinition="text") private String remark;
@Column(name = "salary", columnDefinition = "decimal(5,2)") private BigDecimal salary;
@Column(name="birthday",columnDefinition="date") private Date birthday; @Column(name="createTime",columnDefinition="datetime") private Date createTime;
@Column注解的各個字段的解釋
查看源碼
@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Column {
String name() default "";
boolean unique() default false;
boolean nullable() default true;
boolean insertable() default true;
boolean updatable() default true;
String columnDefinition() default "";
String table() default "";
int length() default 255;
int precision() default 0;
int scale() default 0;
}
解釋
name:定義了被標注字段在數(shù)據(jù)庫表中所對應(yīng)字段的名稱;unique:表示該字段是否為唯一標識,默認為false。如果表中有一個字段需要唯一標識,則既可以使用該標記,也可以使用@Table標記中的nullable:表示該字段是否可以為null值,默認為trueinsertable:表示在使用“INSERT”腳本插入數(shù)據(jù)時,是否需要插入該字段的值。updatable:表示在使用“UPDATE”腳本插入數(shù)據(jù)時,是否需要更新該字段的值。insertable和updatable屬性一般多用于只讀的屬性,例如主鍵和外鍵等。這些字段的值通常是自動生成的。columnDefinition(大多數(shù)情況,幾乎不用):表示創(chuàng)建表時,該字段創(chuàng)建的SQL語句,一般用于通過Entity生成表定義時使用。(也就是說,如果DB中表已經(jīng)建好,該屬性沒有必要使用。table:表示當映射多個表時,指定表的表中的字段。默認值為主表的表名。length:表示字段的長度,當字段的類型為varchar時,該屬性才有效,默認為255個字符。precision和scale:precision屬性和scale屬性表示精度,當字段類型為double時,precision表示數(shù)值的總長度,scale表示小數(shù)點所占的位數(shù)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MyBatis 中 ${}和 #{}的正確使用方法(千萬不要亂用)
這篇文章主要介紹了MyBatis 中 ${}和 #{}的正確使用方法,本文給大家提到了MyBatis 中 ${}和 #{}的區(qū)別,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
springboot+thymeleaf 文件上傳功能的實現(xiàn)代碼
這篇文章主要介紹了springboot+thymeleaf 文件上傳功能的實現(xiàn)代碼,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11
Springboot微服務(wù)項目整合Kafka實現(xiàn)文章上下架功能
這篇文章主要介紹了Springboot微服務(wù)項目整合Kafka實現(xiàn)文章上下架功能,包括Kafka消息發(fā)送快速入門及相關(guān)功能引入,本文通過示例代碼給大家介紹的非常詳細,需要的朋友可以參考下2022-07-07
解決問題:Failed to execute goal org.apache.m
這篇文章主要給大家介紹了關(guān)于解決問題:Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources的相關(guān)資料,文中將解決的辦法介紹的非常詳細,需要的朋友可以參考下2023-03-03

