架構(gòu)2.0 在使用過(guò)程中有幾個(gè)問題
1 如果某張表增加一個(gè)字段 ,我需要在model增加一個(gè)字段這個(gè)很簡(jiǎn)單,還需要在mapper 里的getList, getInfo ,insert 幾個(gè)方法修改sql,雖然有自動(dòng)生成 ,但是修改這么點(diǎn)東西,還不如手動(dòng)增加.
2 如果表很多,那么類文件也很多. 比如說(shuō)某個(gè)系統(tǒng)有100多張表, 那么至少有100個(gè)kt文件,雖然比架構(gòu)1.0,500多個(gè)java文件少了很多但我還是覺得太多了.
3 Resource 里的每一個(gè)方法都是調(diào)用Service的方法, 感覺有點(diǎn)重復(fù) .
記得是在google的過(guò)程中無(wú)意看到了mongodb然后就去了解一下.也就是很火的nosql數(shù)據(jù)庫(kù),學(xué)習(xí)了一段時(shí)間 還是那兩個(gè)字, 真香!
mongodb的核心思想就是,直接存儲(chǔ)里你的json對(duì)象,對(duì)對(duì)象的增刪改查也可以用對(duì)象來(lái)完成剛好對(duì)應(yīng)我們寫接口的面向?qū)ο笏枷?也就是說(shuō)從前端angular typescript到接口在到數(shù)據(jù)庫(kù),都是面向?qū)ο罅?感覺有了一個(gè)完整的閉環(huán).
現(xiàn)在的好處是
1 不需要建表, 更新表, 沒有sql語(yǔ)句, 如果表新增一個(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ù)庫(kù),但是調(diào)試和查看很麻煩. 下面就是對(duì)系統(tǒng)表 的增刪改查.
那么現(xiàn)在的架構(gòu)就是
idea kotlin spring boot mongodb gradle 自動(dòng)化生成3.0