架構2.0 在使用過程中有幾個問題
1 如果某張表增加一個字段 ,我需要在model增加一個字段這個很簡單,還需要在mapper 里的getList, getInfo ,insert 幾個方法修改sql,雖然有自動生成 ,但是修改這么點東西,還不如手動增加.
2 如果表很多,那么類文件也很多. 比如說某個系統(tǒng)有100多張表, 那么至少有100個kt文件,雖然比架構1.0,500多個java文件少了很多但我還是覺得太多了.
3 Resource 里的每一個方法都是調用Service的方法, 感覺有點重復 .
記得是在google的過程中無意看到了mongodb然后就去了解一下.也就是很火的nosql數(shù)據(jù)庫,學習了一段時間 還是那兩個字, 真香!
mongodb的核心思想就是,直接存儲里你的json對象,對對象的增刪改查也可以用對象來完成剛好對應我們寫接口的面向對象思想.也就是說從前端angular typescript到接口在到數(shù)據(jù)庫,都是面向對象了,感覺有了一個完整的閉環(huán).
現(xiàn)在的好處是
1 不需要建表, 更新表, 沒有sql語句, 如果表新增一個字段只需要在model類里新增即可,其他都不需要改動 .
2 可以去掉service直接將邏輯寫在Resource中, 因為現(xiàn)在的model只要繼承了BaseMapper 這個model就可以自己執(zhí)行增刪改查操作,不需要額外的mapper.
3 可以分類存儲對象 因為現(xiàn)在每個表只需要model, search和resource三個類,那么就可以把所有model放在一起,所有seach放在一起.
我立即就把,自動化生成2.0, 改成了Mongodb版,以前是內存數(shù)據(jù)庫,但是調試和查看很麻煩. 下面就是對系統(tǒng)表 的增刪改查.



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