項(xiàng)目架構(gòu)升級(jí)史-架構(gòu)3.0

架構(gòu)2.0 在使用過程中有幾個(gè)問題
1 如果某張表增加一個(gè)字段 ,我需要在model增加一個(gè)字段這個(gè)很簡單,還需要在mapper 里的getList, getInfo ,insert 幾個(gè)方法修改sql,雖然有自動(dòng)生成 ,但是修改這么點(diǎn)東西,還不如手動(dòng)增加.
2 如果表很多,那么類文件也很多. 比如說某個(gè)系統(tǒng)有100多張表, 那么至少有100個(gè)kt文件,雖然比架構(gòu)1.0,500多個(gè)java文件少了很多但我還是覺得太多了.
3 Resource 里的每一個(gè)方法都是調(diào)用Service的方法, 感覺有點(diǎn)重復(fù) .

記得是在google的過程中無意看到了mongodb然后就去了解一下.也就是很火的nosql數(shù)據(jù)庫,學(xué)習(xí)了一段時(shí)間 還是那兩個(gè)字, 真香!

mongodb的核心思想就是,直接存儲(chǔ)里你的json對(duì)象,對(duì)對(duì)象的增刪改查也可以用對(duì)象來完成剛好對(duì)應(yīng)我們寫接口的面向?qū)ο笏枷?也就是說從前端angular typescript到接口在到數(shù)據(jù)庫,都是面向?qū)ο罅?感覺有了一個(gè)完整的閉環(huán).

現(xiàn)在的好處是
1 不需要建表, 更新表, 沒有sql語句, 如果表新增一個(gè)字段只需要在model類里新增即可,其他都不需要改動(dòng) .
2 可以去掉service直接將邏輯寫在Resource中, 因?yàn)楝F(xiàn)在的model只要繼承了BaseMapper 這個(gè)model就可以自己執(zhí)行增刪改查操作,不需要額外的mapper.
3 可以分類存儲(chǔ)對(duì)象 因?yàn)楝F(xiàn)在每個(gè)表只需要model, search和resource三個(gè)類,那么就可以把所有model放在一起,所有seach放在一起.
我立即就把,自動(dòng)化生成2.0, 改成了Mongodb版,以前是內(nèi)存數(shù)據(jù)庫,但是調(diào)試和查看很麻煩. 下面就是對(duì)系統(tǒng)表 的增刪改查.


image.png

image.png

image.png

那么現(xiàn)在的架構(gòu)就是
idea kotlin spring boot mongodb gradle 自動(dòng)化生成3.0

注意: 直接把關(guān)系數(shù)據(jù)庫替換成mongodb,應(yīng)用在實(shí)際項(xiàng)目中還是有風(fēng)險(xiǎn)的,我現(xiàn)在也僅僅只是用在自己的項(xiàng)目上.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容