Spring Boot(二):Many To Many的操作(后臺(tái)數(shù)據(jù)庫(kù)處理)

????????Day(每日)和Dish(菜譜)屬于多對(duì)多關(guān)系谴咸,一天可以有多個(gè)菜譜選擇搓逾,一個(gè)菜譜可以被多天選擇卷谈。定義兩張表時(shí)確定好兩個(gè)表的聯(lián)系,會(huì)自動(dòng)生成第三張表來(lái)存放相關(guān)聯(lián)的ID霞篡。

? ? ? ? 創(chuàng)建兩張表時(shí)可設(shè)定一張表為關(guān)系維持方世蔗,使用@ManyToMany注解和@JoinTable注解。

day表的創(chuàng)建

????????dishSet用于存放這一個(gè)選擇的哪些菜譜朗兵。

????????@JsonIdentityReference(alwaysAsId = true)使dishSet中都以dish的Id存放污淋。

????????@JoinTable定義表名,以及對(duì)應(yīng)屬性joinColumns為關(guān)系維持方的屬性余掖,inverseJoinColumns為被維護(hù)方的屬性寸爆。

dish表的創(chuàng)建

????????@ManyToMany中mappedBy = "dishSet"表示該表與day中的dishSet相關(guān)聯(lián),fetch設(shè)置該表為懶加載方式盐欺,需要使用到這些數(shù)據(jù)時(shí)再進(jìn)行加載赁豆。

? ? ? ? 在這之前需要?jiǎng)?chuàng)建一個(gè)Dao類來(lái)操作數(shù)據(jù)庫(kù)

Dao類繼承自兩個(gè)Jpa類,用于操作數(shù)據(jù)庫(kù)
Dao類下的delete方法

????????使用@Transactional這個(gè)注解的類或者方法表示該類里面的所有方法或者這個(gè)方法的事務(wù)由spring處理冗美,來(lái)保證事務(wù)的原子性魔种,即是方法里面對(duì)數(shù)據(jù)庫(kù)操作,如果失敗則spring負(fù)責(zé)回滾操作粉洼,成功則提交操作节预。這樣刪除數(shù)據(jù)操作就算中間失敗出錯(cuò),也會(huì)恢復(fù)數(shù)據(jù)属韧。

? ? ? ? 對(duì)事務(wù)的理解:

????????事務(wù)是一個(gè)整體安拟,結(jié)果就兩種(成功或者失敗)要么全部成功(提交),要么全部失斚埂(回滾)糠赦,就算成功一部分也要(回滾)。

????????事物的四個(gè)特性

  1、原子性:對(duì)數(shù)據(jù)進(jìn)行操作的時(shí)候愉棱,要么全都執(zhí)行唆铐,要么全都不執(zhí)行。

  2奔滑、一致性:和原子性是分不開(kāi)的,事務(wù)執(zhí)行成功顺少,說(shuō)明全部都執(zhí)行了朋其,那么就使數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀了。

  3脆炎、隔離性: 一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾

 ????4梅猿、持續(xù)性: 事務(wù)一旦提交成功,那么數(shù)據(jù)庫(kù)里的數(shù)據(jù)就會(huì)永久性的改變秒裕。

? ??????@Modifying注解用于標(biāo)注這是一個(gè)Updata或者Delete操作

后臺(tái)接收前端傳遞回來(lái)的數(shù)據(jù)后執(zhí)行以下操作:

當(dāng)向day中添加dish的關(guān)系

????????先根據(jù)day的Id將第三張表中有關(guān)這個(gè)Id的數(shù)據(jù)刪除袱蚓,再通過(guò)jdbc.batchUpdata對(duì)第三張表執(zhí)行插入數(shù)據(jù)的操作。該方法適用于數(shù)據(jù)量不多的情況几蜻。

? ? ? ? 前后端傳遞數(shù)據(jù)的類型要一致喇潘。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市梭稚,隨后出現(xiàn)的幾起案子颖低,更是在濱河造成了極大的恐慌,老刑警劉巖弧烤,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件忱屑,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡暇昂,警方通過(guò)查閱死者的電腦和手機(jī)莺戒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)急波,“玉大人从铲,你說(shuō)我怎么就攤上這事♂Q拢” “怎么了食店?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)赏寇。 經(jīng)常有香客問(wèn)我吉嫩,道長(zhǎng),這世上最難降的妖魔是什么嗅定? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任自娩,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘忙迁。我一直安慰自己脐彩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布姊扔。 她就那樣靜靜地躺著惠奸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪恰梢。 梳的紋絲不亂的頭發(fā)上佛南,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音嵌言,去河邊找鬼嗅回。 笑死,一個(gè)胖子當(dāng)著我的面吹牛摧茴,可吹牛的內(nèi)容都是我干的绵载。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼苛白,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼娃豹!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起丸氛,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤培愁,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后缓窜,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體定续,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年禾锤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了私股。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡恩掷,死狀恐怖倡鲸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情黄娘,我是刑警寧澤峭状,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站逼争,受9級(jí)特大地震影響优床,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜誓焦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一胆敞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦移层、人聲如沸仍翰。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)予借。三九已至,卻和暖如春匪燕,著一層夾襖步出監(jiān)牢的瞬間蕾羊,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工帽驯, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人书闸。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓尼变,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親浆劲。 傳聞我的和親對(duì)象是個(gè)殘疾皇子嫌术,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容