2017-08-04 85 views
0

这是我的配置文件我的春天数据库(H2)不坚持

@Configuration 
@ComponentScan 
public class Config { 

@Bean 
public DataSource datasource() { 
    return new EmbeddedDatabaseBuilder().setName("MyDB").setType(EmbeddedDatabaseType.H2).addScript("schema.sql").build(); 
} 

@Bean 
public JdbcOperations jdbcTemplate(DataSource ds) { 
    return new JdbcTemplate(ds);   
} 
} 

我运行该程序后,我无法找到“MYDB”数据库。

我知道这是一个内存数据库。如何使其嵌入,以便在关闭程序时数据库上的数据仍然存在,并且可以在项目文件夹中找到“MyDB”。

回答

0
@Bean 
public DataSource h2DataSource() { 
    DriverManagerDataSource dataSource = new DriverManagerDataSource(); 
    dataSource.setDriverClassName(driver); 
    dataSource.setUrl(url); 
    dataSource.setUsername(username); 
    dataSource.setPassword(password); 
    return dataSource; 
} 

driver: org.h2.Driver 
url: jdbc:h2:file:${java.io.tmpdir}/database/db_name;AUTO_SERVER=TRUE 
username: user 
password: pass 
+0

请问您能否详细解答一下。 – blueray

+1

而不是像你现在这样定义数据源,按照我的代码示例。 –

+1

@blueray这创建一个基于文件的数据库。 http://www.h2database.com/html/features.html#embedded_databases –