架构2.0 在使用过程中有几个问题
1 如果某张表增加一个字段 ,我需要在model增加一个字段这个很简单,还需要在mapper 里的getList, getInfo ,insert 几个方法修改sql,虽然有自动生成 ,但是修改这么点东西,还不如手动增加.
2 如果表很多,那么类文件也很多. 比如说某个系统有100多张表, 那么至少有100个kt文件,虽然比架构1.0,500多个java文件少了很多但我还是觉得太多了.
3 Resource 里的每一个方法都是调用Service的方法, 感觉有点重复 .
记得是在google的过程中无意看到了mongodb然后就去了解一下.也就是很火的nosql数据库,学习了一段时间 还是那两个字, 真香!
mongodb的核心思想就是,直接存储里你的json对象,对对象的增删改查也可以用对象来完成刚好对应我们写接口的面向对象思想.也就是说从前端angular typescript到接口在到数据库,都是面向对象了,感觉有了一个完整的闭环.
现在的好处是
1 不需要建表, 更新表, 没有sql语句, 如果表新增一个字段只需要在model类里新增即可,其他都不需要改动 .
2 可以去掉service直接将逻辑写在Resource中, 因为现在的model只要继承了BaseMapper 这个model就可以自己执行增删改查操作,不需要额外的mapper.
3 可以分类存储对象 因为现在每个表只需要model, search和resource三个类,那么就可以把所有model放在一起,所有seach放在一起.
我立即就把,自动化生成2.0, 改成了Mongodb版,以前是内存数据库,但是调试和查看很麻烦. 下面就是对系统表 的增删改查.
那么现在的架构就是
idea kotlin spring boot mongodb gradle 自动化生成3.0