首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么通过H2进行spring-boot测试,而它却将数据写入我本地的mysql数据库?

通过H2进行Spring Boot测试时,它将数据写入本地的MySQL数据库的原因是因为在Spring Boot中,默认的数据源配置是使用嵌入式的H2数据库。当我们进行测试时,Spring Boot会自动创建一个内存中的H2数据库实例,并将数据写入其中。

这种默认行为的好处是测试环境的搭建变得非常简单,无需手动配置和安装MySQL数据库。同时,H2数据库的性能也比较好,适合用于测试场景。

然而,如果你希望将测试数据写入到MySQL数据库中,你可以进行以下配置:

  1. application.propertiesapplication.yml文件中,配置MySQL数据库的连接信息,包括URL、用户名和密码。
  2. 在测试类中,使用@TestPropertySource注解指定使用的配置文件,例如:@TestPropertySource(locations = "classpath:test.properties")
  3. test.properties文件中,指定使用MySQL数据库的配置,例如:spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver

通过以上配置,你就可以将测试数据写入到MySQL数据库中了。

需要注意的是,为了保证测试的独立性和可重复性,通常建议使用嵌入式的H2数据库进行测试。这样可以避免测试数据对实际环境产生影响,并且测试执行速度也会更快。只有在特定需求下,才需要将测试数据写入到实际的MySQL数据库中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券