【发布时间】:2018-02-01 01:47:12
【问题描述】:
我有什么: 我正在开发一个微服务,使用带有 Web 和 SpringMyBatis 的 Spring Boot。 对于 CI 集成测试,我将使用远程 MySQL 数据库,对于本地集成测试,我将使用 H2。我对两个数据库都有不同的 application.yml 文件。
我的问题: 由于我想创建将在两个数据库上运行的集成测试,并且我将不得不使用不同的 JDBC 驱动程序(我的测试将直接在数据库上检查已插入/修改的内容),那么最好的方法是什么? 可能是使用 Spring JDBC 查询我的数据库的解决方案,以便我的数据源将直接从应用程序属性中“挑选”?
【问题讨论】:
-
理想情况下,您只需要一个从弹簧配置文件配置的数据源。因此,您可以即时切换它,为您的 CI 选择必要的。
-
是的,这是我的想法。所以我还需要在我的@Config 文件上配置我的 DataSource,然后从那个文件中检索驱动程序?
-
那种。唯一的区别是驱动程序、连接 URL 和凭据。
-
知道如何做到这一点吗?我在不同的 application.yml 上有不同的连接 URL 和凭据。但不知道如何做到这一点......
标签: java spring spring-boot jdbc continuous-integration