2017-08-04 81 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 –