首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹簧H2嵌入式数据库

弹簧H2嵌入式数据库
EN

Stack Overflow用户
提问于 2017-04-24 18:35:55
回答 4查看 8.1K关注 0票数 4

我希望创建一个内存中的数据库,其中填充了用于快速测试的测试数据,因此我在我的配置文件中声明了这个bean,但是我也希望这样设置这个属性:

代码语言:javascript
复制
MODE=MySQL
DB_CLOSE_ON_EXIT=FALSE

但我不知道该在哪里做

代码语言:javascript
复制
@Bean
public DataSource dataSource(){
    return
        (new EmbeddedDatabaseBuilder())
        .setType(EmbeddedDatabaseType.H2) //.H2 
        .addScript("classpath:db/H2.schema.sql")
        .addScript("classpath:db/H2.data.sql")
        .build();
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-04-24 19:03:18

尝尝这个

代码语言:javascript
复制
@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();
}
票数 14
EN

Stack Overflow用户

发布于 2017-04-24 19:04:53

您可以尝试使用EmbeddedDatabaseBuilder.setName()

代码语言:javascript
复制
@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的答案上找到了线索。

票数 3
EN

Stack Overflow用户

发布于 2017-04-24 18:53:56

另一种方法是使用属性连接DataSources。这样,您就可以设置JDBC,它可以包含其他属性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43595395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档