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

idea根據(jù)實(shí)體類(lèi)生成數(shù)據(jù)庫(kù)表的流程步驟

 更新時(shí)間:2024年12月02日 10:50:16   作者:ueanaIU瀟瀟子  
在開(kāi)發(fā)的時(shí)候,經(jīng)常會(huì)遇到數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì)無(wú)法滿足業(yè)務(wù)的需求,需要去改動(dòng)數(shù)據(jù)庫(kù)表,我們就需要去設(shè)計(jì)數(shù)據(jù)庫(kù)的字段,然后又回來(lái)增加實(shí)體類(lèi)里的字段,這樣很麻煩,所以本文給大家介紹了idea根據(jù)實(shí)體類(lèi)生成數(shù)據(jù)庫(kù)表的流程步驟,需要的朋友可以參考下

引言

在開(kāi)發(fā)的時(shí)候,經(jīng)常會(huì)遇到數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì)無(wú)法滿足業(yè)務(wù)的需求,需要去改動(dòng)數(shù)據(jù)庫(kù)表,我們就需要去設(shè)計(jì)數(shù)據(jù)庫(kù)的字段,然后又回來(lái)增加實(shí)體類(lèi)里的字段,這樣是不是很麻煩?今天我們就來(lái)解決這個(gè)問(wèn)題,只需要直接修改我們定義的實(shí)體類(lèi),然后在我們啟動(dòng)項(xiàng)目時(shí)數(shù)據(jù)庫(kù)就會(huì)自動(dòng)對(duì)應(yīng)我們實(shí)體類(lèi)進(jìn)行修改,大大減少了麻煩。

實(shí)現(xiàn)步驟

1.導(dǎo)入依賴(lài)

<!--   jpa 依賴(lài)-->
        <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的配置屬性,其主要作用是:自動(dòng)創(chuàng)建、更新、驗(yàn)證數(shù)據(jù)庫(kù)表結(jié)構(gòu)。該參數(shù)的幾種配置如下:

  1. create:每次加載hibernate時(shí)都會(huì)刪除上一次的生成的表,然后根據(jù)你的model類(lèi)再重新來(lái)生成新表,哪怕兩次沒(méi)有任何改變也要這樣執(zhí)行,這就是導(dǎo)致數(shù)據(jù)庫(kù)表數(shù)據(jù)丟失的一個(gè)重要原因。
  2. create-drop:每次加載hibernate時(shí)根據(jù)model類(lèi)生成表,但是sessionFactory一關(guān)閉,表就自動(dòng)刪除。
  3. update:最常用的屬性,第一次加載hibernate時(shí)根據(jù)model類(lèi)會(huì)自動(dòng)建立起表的結(jié)構(gòu)(前提是先建立好數(shù)據(jù)庫(kù)),以后加載hibernate時(shí)根據(jù)model類(lèi)自動(dòng)更新表結(jié)構(gòu),即使表結(jié)構(gòu)改變了但表中的行仍然存在不會(huì)刪除以前的行。要注意的是當(dāng)部署到服務(wù)器后,表結(jié)構(gòu)是不會(huì)被馬上建立起來(lái)的,是要等應(yīng)用第一次運(yùn)行起來(lái)后才會(huì)。
  4. validate:每次加載hibernate時(shí),驗(yàn)證創(chuàng)建數(shù)據(jù)庫(kù)表結(jié)構(gòu),只會(huì)和數(shù)據(jù)庫(kù)中的表進(jìn)行比較,不會(huì)創(chuàng)建新表,但是會(huì)插入新值。

3.編寫(xiě)實(shí)體類(lèi)

@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;
}

完成了上面的步驟后,只需要啟動(dòng)項(xiàng)目,我們就完成了根據(jù)實(shí)體類(lèi)生成數(shù)據(jù)庫(kù)表的操作,是不是很簡(jiǎn)單。

查看數(shù)據(jù)庫(kù),表已經(jīng)生成,并且字段也是按照我們的要求定義的

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

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

剛剛新定義的字段數(shù)據(jù)庫(kù)添加了,對(duì)應(yīng)的注釋也有了。大功告成!

到此這篇關(guān)于idea根據(jù)實(shí)體類(lèi)生成數(shù)據(jù)庫(kù)表的流程步驟的文章就介紹到這了,更多相關(guān)idea實(shí)體類(lèi)生成數(shù)據(jù)庫(kù)表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論