2017-04-24 30 views
0

しかし、どこでそれを行うべきかわかりません春H2組み込みデータベース

@Bean 
public DataSource dataSource(){ 
    return 
     (new EmbeddedDatabaseBuilder()) 
     .setType(EmbeddedDatabaseType.H2) //.H2 
     .addScript("classpath:db/H2.schema.sql") 
     .addScript("classpath:db/H2.data.sql") 
     .build(); 
} 

答えて

4

この

@Bean 
public DataSource dataSource(){ 
    return 
     new EmbeddedDatabaseBuilder() 
     .setType(EmbeddedDatabaseType.H2) 
     .setName("testDB;DB_CLOSE_ON_EXIT=FALSE;MODE=MySQL") 
     .addScript("classpath:db/H2.schema.sql") 
     .addScript("classpath:db/H2.data.sql") 
     .build(); 
} 
+0

に手がかりを見つけていない分で私を打つ:Pを – qtips

0

代替の方法は、プロパティを使用してデータソースを配線することです。このようにして、追加のプロパティを含むことができるJDBC URLを設定できます。

1

モードはH2のSQL文で行うことができますが、簡単なフックがないURLの一部としてDB_CLOSE_DELAYを設定する必要があります。あなただけのapplication.properties/ymlでこれを設定すると、スプリングはそれを

jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;MODE=MySQLを自動設定しましょうするspring.datasource.url追加のプロパティがschemadata

1

を試すために利用できるだろう最高のだろう試してみてくださいEmbeddedDatabaseBuilder.setName()

@Bean 
public DataSource dataSource(){ 
return 
    new EmbeddedDatabaseBuilder() 
    .setName("testdb;MODE=MySQL;DB_CLOSE_ON_EXIT=false") 
    .setType(EmbeddedDatabaseType.H2) //.H2 
    .addScript("classpath:db/H2.schema.sql") 
    .addScript("classpath:db/H2.data.sql") 
    .build(); 

}

注:私はこの自分自身を試してみましたが、this答え

関連する問題