首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

H2 DB的Spring Boot Two数据源配置无法创建表和插入数据

H2 DB是一个内存数据库,可以嵌入在应用程序中使用,非常适合开发和测试环境。Spring Boot是一个用于快速构建基于Spring框架的Java应用程序的工具。

在Spring Boot中配置H2 DB的两个数据源可以按照以下步骤进行:

  1. pom.xml文件中添加H2 DB的依赖:
代码语言:txt
复制
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>
  1. application.propertiesapplication.yml文件中配置两个数据源的相关信息:
代码语言:txt
复制
# 第一个数据源
spring.datasource.url=jdbc:h2:mem:db1
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver

# 第二个数据源
spring.datasource.second.url=jdbc:h2:mem:db2
spring.datasource.second.username=sa
spring.datasource.second.password=
spring.datasource.second.driver-class-name=org.h2.Driver

或者

代码语言:txt
复制
spring:
  datasource:
    url: jdbc:h2:mem:db1
    username: sa
    password:
    driver-class-name: org.h2.Driver
  second:
    datasource:
      url: jdbc:h2:mem:db2
      username: sa
      password:
      driver-class-name: org.h2.Driver
  1. 创建两个数据源的JdbcTemplate bean:
代码语言:txt
复制
@Configuration
public class DataSourceConfig {

    @Bean
    @Primary
    @ConfigurationProperties("spring.datasource")
    public DataSourceProperties dataSourceProperties() {
        return new DataSourceProperties();
    }

    @Bean
    @Primary
    @ConfigurationProperties("spring.datasource")
    public DataSource dataSource() {
        return dataSourceProperties().initializeDataSourceBuilder().build();
    }

    @Bean
    @ConfigurationProperties("spring.datasource.second")
    public DataSourceProperties secondDataSourceProperties() {
        return new DataSourceProperties();
    }

    @Bean
    @ConfigurationProperties("spring.datasource.second")
    public DataSource secondDataSource() {
        return secondDataSourceProperties().initializeDataSourceBuilder().build();
    }

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

    @Bean
    @Qualifier("secondJdbcTemplate")
    public JdbcTemplate secondJdbcTemplate(@Qualifier("secondDataSource") DataSource secondDataSource) {
        return new JdbcTemplate(secondDataSource);
    }
}

以上配置完成后,您可以使用JdbcTemplate来执行SQL语句,并操作两个数据源中的表。

至于您提到的问题,H2 DB的Spring Boot Two数据源配置无法创建表和插入数据的情况,可能有以下几个原因:

  1. 数据源配置不正确:请检查application.propertiesapplication.yml中数据源的配置是否正确,包括URL、用户名和密码等。
  2. 数据库驱动依赖缺失:请确保pom.xml文件中已添加了H2 DB的依赖。
  3. SQL语句错误:请检查您执行的创建表和插入数据的SQL语句是否正确。

希望以上内容对您有帮助!如果需要更详细的信息,可以参考腾讯云的相关产品文档:腾讯云数据库

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring Boot Hibernate H2 数据配置来进行启动测试

希望在 Spring Boot配置 H2 数据库来进行功能测试。 如何进行配置能来让启动时候自动载入数据进行测试?...=sa spring.datasource.schema=classpath:db/schema.sql 配置参数说明。...spring.datasource.url Spring 项目中数据源连接参数,在这个参数中你定义了一个数据名称为 scodb,在通过网页界面进行访问时候,会提醒你输入连接参数。...spring.datasource.schema Spring 启动时候需要载入 sql 文件。这个文件将会在 Spring 启动后被执行,创建数据插入测试数据等。...上面的连接参数为Hibernate 需要,你需要先进行配置,才能让 HikariCP 连接池获得数据源

1.5K20

Druid Spring Boot Starter

Druid 主页 https://github.com/alibaba/druid Druid Spring Boot Starter 用于帮助你在Spring Boot项目中轻松集成Druid数据库连接池监控...如何使用 配置属性 Druid Spring Boot Starter 配置属性名称完全遵照 Druid,你可以通过 Spring Boot 配置文件来配置Druid数据库连接池监控,如果没有配置则使用默认值...# Druid 数据源 2 配置,继承spring.datasource.druid.* 配置,相同则覆盖 ... spring.datasource.druid.two.max-active=20...强烈注意:Spring Boot 2.X 版本不再支持配置继承,多数据源的话每个数据源所有配置都需要单独配置,否则配置不会生效 创建数据源 @Primary @Bean @ConfigurationProperties...下面给做一个简单演示,在 Spring Boot 中如何通过 HTTP 接口将 Druid 监控数据以 JSON 形式暴露出去,实际使用中你可以根据你需要自由地对监控数据、暴露方式进行扩展。

58010
  • 搭建单体SpringBoot项目 集成Druid数据库连接池监控

    druid 官网github地址 Druid Spring Boot Starter 用于帮助你在Spring Boot项目中轻松集成Druid数据库连接池监控。...= spring.datasource.password= # ...其他配置(可选,不是必须,使用内嵌数据库的话上述三项也可省略不填) 配置属性 Druid Spring Boot Starter...配置属性名称完全遵照 Druid,你可以通过 Spring Boot 配置文件来配置Druid数据库连接池监控,如果没有配置则使用默认值。...# Druid 数据源 2 配置,继承spring.datasource.druid.* 配置,相同则覆盖 ... spring.datasource.druid.two.max-active=20...强烈注意:Spring Boot 2.X 版本不再支持配置继承,多数据源的话每个数据源所有配置都需要单独配置,否则配置不会生效 创建数据源 @Primary @Bean @ConfigurationProperties

    55820

    Spring Boot集成数据源

    Spring Boot创建数据数据源提供了非常好支持。不需要编写任何额外代码来在Spring Boot创建数据源(DataSource)。...只需添加依赖项并执行配置详细信息就足以创建DataSource并连接数据库。在本章中,将使用Spring Boot JDBC驱动程序连接来连接数据库。.../main/resources 目录下创建schema.sql 文件data.sql 文件来连接H2数据库。...此处给出示例显示了如何在Spring Boot应用程序中创建多个数据源。例如,要在应用程序属性文件中添加两个数据源配置详细信息。...Druid 可以很好监控 DB 池连接 SQL 执行情况,天生就是针对监控而生 DB 连接池。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署严苛考验。

    79310

    SpringBoot使用H2内存数据库单元测试代码示例

    支持内嵌和服务器模式;是一种内存数据库 支持浏览器控制台 jar包比较小 另外 如果使用公共开发数据库,服务器如果回收再测试就需要继续安装建插入数据。...如果每个人都本地测试,为了测试都要安装MySQL或Oracle等数据库并手动执行建插入。 当然也有一些劣势,虽然可以支持多种数据库模式,但是特殊语句可能会不支持。...2.2 使用MySQL测试后回滚 使用MySQL测试后回滚是常见一种方式,最大问题如果是自己本地测试,其他人如果想测试需要再创建插入数据,非常麻烦。...4.2 源码 可以通过配置文件 点击数据源配置下面几项,可以跳转到spring-boot-autoconfigure.jar中查看参数对应自动配置类。...点击mybatis配置下面几项,可以跳转到mybatis-spring-boot-autoconfigure.jar中查看对应配置处理代码。

    3.5K30

    SpringBoot 使用sharding jdbc进行分库分,基于4.0版本,Springboot2.1

    有点不同是,这一篇,我们是采用多数据源,仅对一个数据源进行分。也就是说在网上那些jpa多数据源配置,用sharding jdbc一样能完成。...这也是我这个数据源,唯一要做配置。 另外,secondary这个数据源里,也有两个,但我不想分,只是当成普通数据源进行操作。...也不需要像之前数据源时,像如下配置都不用了。不需要指定modelrepository包位置什么。 ?...当yml配置好后,就可以把两个数据源modelRepository放在任意包下,不影响。 无论是对哪个进行分,都还是正常定义这个entity就行了。...,从第一个数据源插入值,查看分表情况。

    3.1K10

    HikariPool-1 – dataSource or dataSourceClassName or jdbcUrl is required.解决方案

    # 配置 Spring Data JPA # 配置使用数据库类型 spring.jpa.database=h2 # 创建方式 # 方式一:通过注解映射方式 # 自动建规则 # create:Create...spring.datasource.url=jdbc:h2:mem:test_h2_db ##配置存储数据到文件 #spring.datasource.url=jdbc:h2:file:~/test_h2..._db ### 配置数据库连接账号 spring.datasource.username=sa ### 配置数据库连接密码 spring.datasource.password=sa ### 配置使用数据库驱动...配置数据源类型 spring.datasource.type=com.zaxxer.hikari.HikariDataSource # 配置H2 Database # H2 web管理控制台需要devtools...因此我怀疑是Spring Boot 自动配置不知道什么原因失效了。 Spring Boot 项目拥有智能自动配置功能,当检测到有H2 相关数据库连接jar 包就会进行自动配置

    3.5K20

    走进Java接口测试之从0到1搭建数据驱动框架(多数据源业务持久层)

    工具简介 dynamic-datasource-spring-boot-starter 是一个基于 springboot 快速集成多数据源启动器。...特性: 数据源分组,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。 内置敏感参数加密启动初始化结构 schema 数据库 database。...@DS 同时注解在方法上类上。 配置数据源 引包: <!...初始化数据 这里我们演示业务数据库是 H2数据结构脚本 schema.sql: drop table t_coffee if exists; create table t_coffee (...工程结构 最后,多数据源业务持久层工程结构大概是以下样子: 小结 在今天这篇文章中,主要和大家分享了实现注解式多数据源业务持久层开发过程。

    86730

    【SpringBoot DB 系列】Jooq 之新增记录使用姿势

    数据库初始化 我们借助jooq-codegen-maven插件来自动生成数据库相关代码,对这一段逻辑感兴趣小伙伴可以参考博文:【DB 系列】Jooq 代码自动生成 后文中使用结构如下 DROP...配置文件 h2database 连接配置如 application.properties #Database Configuration spring.datasource.url=jdbc:h2:~...=/h2 #进行该配置,程序开启时就会启动h2 web consloe spring.h2.console.enabled=true II....新增记录 接下来我们进入正式数据插入使用姿势介绍,一般来说新增数据会区分单个批量两种方式,下面我们分别进行介绍 1....链式批量保存 同样是类 sql 链式插入方式,需要注意一下与前面的单条记录链式插入区别,下面这种写法 sql 批量插入写法及其相似 /** * 类sql写法,批量添加 * * @param

    1.1K20

    【SpringBoot DB 系列】Jooq 之新增记录使用姿势

    数据库初始化 我们借助jooq-codegen-maven插件来自动生成数据库相关代码,对这一段逻辑感兴趣小伙伴可以参考博文:【DB 系列】Jooq 代码自动生成 后文中使用结构如下 DROP...配置文件 h2database 连接配置如 application.properties #Database Configuration spring.datasource.url=jdbc:h2:~...=/h2 #进行该配置,程序开启时就会启动h2 web consloe spring.h2.console.enabled=true II....新增记录 接下来我们进入正式数据插入使用姿势介绍,一般来说新增数据会区分单个批量两种方式,下面我们分别进行介绍 1....链式批量保存 同样是类 sql 链式插入方式,需要注意一下与前面的单条记录链式插入区别,下面这种写法 sql 批量插入写法及其相似 /** * 类sql写法,批量添加 * * @param

    54410

    【SpringBoot DB 系列】h2databse 集成示例 demo

    ,一些简单示例 demo 等;本文将手把手教你创建一个继承 h2dabase 项目,并支持从 sql 中导入预定好 schema data I....属性配置 既然是连接数据库,当然少不了数据相关配置,在项目的资源路径下,新建配置文件application.properties # 数据相关配置 spring.datasource.url=jdbc...=org.h2.Driver 上面的配置方式,和我们 mysql 数据配置没有什么特别的,这里 url 请注意一下 jdbc:h2:~/h2-db: 嵌入式使用姿势,会在用户根目录下生成一个名为h2...-db.mv.db文件(数据 schema d column 就存在里面) jdbc:h2:mem:DBName;DB_CLOSE_DELAY=-1: 内存模式,应用重启之后数据库会清空,所以在测试用例中...4. sql 文件导入 注意我们前面的所有步骤,没有任何一个地方有说明需要主动去创建一个名为test,这一点和我们熟悉 mysql 是不一样; 某些时候我们可能希望将准备好 sql 文件来初始化数据

    44120

    【SpringBoot DB 系列】h2databse 集成示例 demo

    属性配置 既然是连接数据库,当然少不了数据相关配置,在项目的资源路径下,新建配置文件application.properties # 数据相关配置 spring.datasource.url=jdbc...=org.h2.Driver 上面的配置方式,和我们 mysql 数据配置没有什么特别的,这里 url 请注意一下 jdbc:h2:~/h2-db: 嵌入式使用姿势,会在用户根目录下生成一个名为h2...-db.mv.db文件(数据 schema d column 就存在里面) jdbc:h2:mem:DBName;DB_CLOSE_DELAY=-1: 内存模式,应用重启之后数据库会清空,所以在测试用例中...基本配置,为了更友好展示,我们开启了 h2dabase web console 控制台 ##h2 web console设置 spring.datasource.platform=h2 #进行该配置后...id=1' [01.jpg] 4. sql 文件导入 注意我们前面的所有步骤,没有任何一个地方有说明需要主动去创建一个名为test,这一点和我们熟悉 mysql 是不一样; 某些时候我们可能希望将准备好

    84700

    Spring Boot内存数据库中H2使用教程

    好处 零项目设置或基础设施 零配置 零维护 易于学习,POC单元测试 Spring Boot提供了简单配置,可以在真实数据内存数据库(如H2)之间切换 H2   H2是内存数据库中流行之一。...H2还提供了一个Web控制台来维护数据库。 Spring BootH2 您需要很少配置才能将Spring Boot应用程序与H2连接。 在大多数情况下,只需将H2运行时jar添加到依赖项中即可。...注意:JDBC URL默认是jdbc:h2:~/test,而Spring Boot默认数据库url应该是jdbc:h2:mem:testdb,否则进去后找不到JPA创建数据PRODUCT: ?...H2Spring Boot组合如何工作? 首先也是最重要事情 - Spring Boot很聪明。 如果您正在与内存数据库进行通信,则默认情况下,它会查看实体并创建数据。...就H2而言,只要Spring Boot在类路径中看到H2,它就会自动配置类似于下面所示数据源spring.datasource.url=jdbc:h2:mem:testdb

    5.8K20

    SpringBoot之SpringBoot整合多数据源

    什么是多数据源,emmm,一听就是多个数据源,在单体式项目中一般不会使用到多数据源,一般单数据源就可以玩转了 创建数据: 之前已经存在了一个数据了,为了实现多数据源就再创建一个 ?...修改application-dts.yml配置 这里注意一个问题,如果是SpringBoot2以上配置数据源需要把url改为jdbc-url,不然会报错 原来数据源配置 ? 新数据配置 ?...多数据源其实对于作用领域是有多种实现形式,最常见就是注解分包,我采用分包来完成作用域划分 重新定义目录结构,按照数据源配置分了两个包,之前向springboot中移动,下面的是新加,关于 ?...把Mapper按照不同包分开,然后增加了新也就是新数据库中dtsMapperService DtsMapper.java package com.springboot.demo.springbootdts.mapper..."success" : "error"; } } 编写配置类: 在config包下创建两个配置类,分别用于配置两个数据源 ?

    74420
    领券