idea根據(jù)實(shí)體類生成數(shù)據(jù)庫表的流程步驟
引言
在開發(fā)的時候,經(jīng)常會遇到數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計(jì)無法滿足業(yè)務(wù)的需求,需要去改動數(shù)據(jù)庫表,我們就需要去設(shè)計(jì)數(shù)據(jù)庫的字段,然后又回來增加實(shí)體類里的字段,這樣是不是很麻煩?今天我們就來解決這個問題,只需要直接修改我們定義的實(shí)體類,然后在我們啟動項(xiàng)目時數(shù)據(jù)庫就會自動對應(yīng)我們實(shí)體類進(jìn)行修改,大大減少了麻煩。
實(shí)現(xiàn)步驟
1.導(dǎo)入依賴
<!-- jpa 依賴-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>2. yml配置文件
spring:
jpa:
generate-ddl: true
hibernate:
ddl-auto: update
jpa:hibernate:ddl-auto: update是hibernate的配置屬性,其主要作用是:自動創(chuàng)建、更新、驗(yàn)證數(shù)據(jù)庫表結(jié)構(gòu)。該參數(shù)的幾種配置如下:
- create:每次加載hibernate時都會刪除上一次的生成的表,然后根據(jù)你的model類再重新來生成新表,哪怕兩次沒有任何改變也要這樣執(zhí)行,這就是導(dǎo)致數(shù)據(jù)庫表數(shù)據(jù)丟失的一個重要原因。
- create-drop:每次加載hibernate時根據(jù)model類生成表,但是sessionFactory一關(guān)閉,表就自動刪除。
- update:最常用的屬性,第一次加載hibernate時根據(jù)model類會自動建立起表的結(jié)構(gòu)(前提是先建立好數(shù)據(jù)庫),以后加載hibernate時根據(jù)model類自動更新表結(jié)構(gòu),即使表結(jié)構(gòu)改變了但表中的行仍然存在不會刪除以前的行。要注意的是當(dāng)部署到服務(wù)器后,表結(jié)構(gòu)是不會被馬上建立起來的,是要等應(yīng)用第一次運(yùn)行起來后才會。
- validate:每次加載hibernate時,驗(yàn)證創(chuàng)建數(shù)據(jù)庫表結(jié)構(gòu),只會和數(shù)據(jù)庫中的表進(jìn)行比較,不會創(chuàng)建新表,但是會插入新值。
3.編寫實(shí)體類
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "admin")
public class Admin {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(name = "user_name",length = 20, unique = true, nullable = false)
private String username;
@Column(name = "password",length = 20, nullable = false)
private String password;
}完成了上面的步驟后,只需要啟動項(xiàng)目,我們就完成了根據(jù)實(shí)體類生成數(shù)據(jù)庫表的操作,是不是很簡單。
查看數(shù)據(jù)庫,表已經(jīng)生成,并且字段也是按照我們的要求定義的

如果我們需要新增字段,只需要在實(shí)體類中新增字段即可,比如,我在admin中增加了一個地址字段

然后重新啟動項(xiàng)目

剛剛新定義的字段數(shù)據(jù)庫添加了,對應(yīng)的注釋也有了。大功告成!
到此這篇關(guān)于idea根據(jù)實(shí)體類生成數(shù)據(jù)庫表的流程步驟的文章就介紹到這了,更多相關(guān)idea實(shí)體類生成數(shù)據(jù)庫表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用ServletInputStream()輸入流讀取圖片方式
這篇文章主要介紹了使用ServletInputStream()輸入流讀取圖片方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
SpringMVC視圖轉(zhuǎn)發(fā)重定向區(qū)別及控制器詳解
這篇文章主要為大家介紹了SpringMVC視圖轉(zhuǎn)發(fā)重定向區(qū)別及控制器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
RestTemplate在Spring或非Spring環(huán)境下使用精講
這篇文章主要為大家介紹了RestTemplate在Spring或非Spring環(huán)境下使用精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03
SpringBoot實(shí)現(xiàn)微服務(wù)通信的多種方式
微服務(wù)通信是指在分布式系統(tǒng)中,各個微服務(wù)之間進(jìn)行數(shù)據(jù)交互和通信的過程,今天我們將探討在Spring Boot中實(shí)現(xiàn)微服務(wù)通信的多種方式,文章通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07
SpringBoot org.springframework.beans.factory.Unsatisfie
本文主要介紹了SpringBoot org.springframework.beans.factory.UnsatisfiedDependencyException依賴注入異常,文中通過示例代碼介紹的很詳細(xì),具有一定的參考價值,感興趣的可以了解一下2024-02-02
使用SpringBoot開發(fā)Restful服務(wù)實(shí)現(xiàn)增刪改查功能
Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。這篇文章主要介紹了基于SpringBoot開發(fā)一個Restful服務(wù),實(shí)現(xiàn)增刪改查功能,需要的朋友可以參考下2018-01-01

