【发布时间】:2017-02-08 13:13:01
【问题描述】:
我正在开发使用数据库的 Spring-Boot-Application。 我想让用户选择使用嵌入式数据库(用于快速测试)或基于硬盘的数据库(用于长期使用)。 我的方法是在 application.properties 中添加一个 bool 标志,在配置中读取它并创建想要的 DataSource。
@Bean
public DataSource dataSource() {
if (embedded) {
EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
EmbeddedDatabase db = builder
.setType(EmbeddedDatabaseType.H2)
.addScript("db.sql")
.build();
return db;
} else {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(driver);
dataSource.setUrl(databaseURL);
dataSource.setUsername(databaseUser);
dataSource.setPassword(databasePassword);
return dataSource;
}
}
这工作得很好。我现在的问题是我想在会话之间保留嵌入式数据库,并在应用程序再次启动时再次加载其内容(如果用户之前使用过嵌入式数据库,并且再次使用它,所以他不会丢失他的数据)
我需要在我的代码中添加什么以使数据库创建快照并在启动时再次使用它们?
Greetz 并感谢您的帮助, 帕特里克
【问题讨论】:
标签: java spring spring-boot spring-data-jpa h2