Spring Boot应用中如何动态指定数据库,实现不同用户不同数据库等场景
当在 Spring Boot 应用程序中使用Spring Data JPA 进行数据库操作时,配置Schema名称是一种常见的做法。然而,在某些情况下,模式名称需要是动态的,可能会在应用程序运行时发生变化。比如:需要做数据隔离的SaaS应用。
所以,这篇博文将帮助您解决了在 Spring Boot 应用程序中如何设置动态 Schema。
原创大约 3 分钟
当在 Spring Boot 应用程序中使用Spring Data JPA 进行数据库操作时,配置Schema名称是一种常见的做法。然而,在某些情况下,模式名称需要是动态的,可能会在应用程序运行时发生变化。比如:需要做数据隔离的SaaS应用。
所以,这篇博文将帮助您解决了在 Spring Boot 应用程序中如何设置动态 Schema。
从个人开发角度来说,Spring Data JPA更好用,是因为开发起来更快。
但从团队角度,我们希望更好的维护性,spring data jpa就差一些,或者说对后期人的要求更高。
很容易出现这种情况:
监控系统发现某个慢查询了,运维把SQL发到开发群里,大家自查一下。此时很可能发现根本没人回应,都说没有这句SQL。然后运维定位到某个库,找到这个库的使用人,让他去看。他可能也就拿着SQL全局去搜,发现还是搜不到。
如果这个人责任心不强,可能就说 没找到这个SQL,责任心强调的,对Spring Data JPA熟悉点的,就要开始去分析这个SQL可能在哪里,然后找到对应的实现地方去修改。 这就是Spring Data JPA在团队作战时候,容易引发维护成本高的真实场景。