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