不使用XML配置而是使用@Configuration初始化数据库
我想知道如何初始化数据库而不必创建XML文件。
我已经使用了这种可以正常工作的初始化,但是在当前情况下,我不想创建XML:
<jdbc:initialize-database data-source="dataSource"> <jdbc:script location="classpath:com/foo/sql/db-schema.sql"/>
<jdbc:script location="classpath:com/foo/sql/db-test-data.sql"/>
</jdbc:initialize-database>
我知道我可以使用以下方法创建嵌入式数据库:
EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();EmbeddedDatabase db = builder.setType(H2).addScript("my-schema.sql").addScript("my-test-data.sql").build();
就我而言,数据库和架构是使用Liquibase创建的。
我只想用Spring和我的自定义数据集来初始化它,而不必每次都为此创建一个新的XML文件。
可能吗?
回答:
在查看与EmbeddedDatabaseBuilder相关的Spring类之后,我发现DatabaseBuilder正在使用一些类似于以下的代码:
ResourceDatabasePopulator populator = new ResourceDatabasePopulator();for (String sqlScript: sqlInitializationScripts ) {
Resource sqlScriptResource = RESOURCE_LOADER.getResource(sqlScript);
populator.addScript(sqlScriptResource);
}
DatabasePopulatorUtils.execute(populator, dataSource);
即使对@BeforeTest方法而不是在Spring配置上,这对我来说也很好。
以上是 不使用XML配置而是使用@Configuration初始化数据库 的全部内容, 来源链接: utcz.com/qa/404477.html