数据库迁移中遇到的问题
公司实际开发中,有遇到数据库迁移升级的问题,从mysql迁移到mongo,在实际操作中发现数据库的字段对应不上(数据库也不是我建的,我也不知道为什么要这样搞,盲猜是因为直接从mysql中 引入,因为mysql中的字段也不一样,平台历史久远,有些都没有按照驼峰命名确定字段),最离谱的是同样一个字段居然有4种写法,就是在字段前加上(F,f,F-,f-),还有一些直接改名。
采取的方案:
-
在controller上添加@API版本版本管理注解,只需要前端请求时在请求头上添加对应的版本号就可以了
-
因为字段对应不上所以采用反射的方法,将从mongo库中查询出来数据转换成对应类返回前端
-
组长自己给的例子每次转换的时候,每个类的字段的写法都有不同,用switch判断会有许多代码冗余所以将其提出赋值,但数据类型是不同的也是不确定的,在赋值时会有类型错误,所以写了一个泛型元组类,可以返回各种类型数据减少代码冗余
组长给的
自己修改的
不仅减少了冗余,代码复用性也更好