首页
学习
活动
专区
工具
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.6K20

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 的形式暴露出去,实际使用中你可以根据你的需要自由地对监控数据、暴露方式进行扩展。

59310
  • 搭建单体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

    59120

    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个应用,经过一年多生产环境大规模部署的严苛考验。

    82010

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

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

    3.7K30

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

    有点不同的是,这一篇,我们是采用多数据源,仅对一个数据源进行分表。也就是说在网上那些jpa多数据源的配置,用sharding jdbc一样能完成。...这也是我这个数据源,唯一要做配置的表。 另外,secondary这个数据源里,也有两个表,但我不想分表,只是当成普通的数据源进行操作。...也不需要像之前的多数据源时,像如下的配置都不用了。不需要指定model和repository的包位置什么的。 ?...当yml配置好后,就可以把两个数据源的model和Repository放在任意的包下,不影响。 无论是对哪个表进行分表,都还是正常定义这个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 包就会进行自动配置。

    4K20

    走进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 (...工程结构 最后,多数据源和业务持久层的工程结构大概是以下的样子: 小结 在今天这篇文章中,主要和大家分享了实现注解式多数据源和业务持久层开发的过程。

    87930

    【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

    MYSQLg高级-------分库分表之核心Sharding-JDBC

    ,创建数据库和数据库表 ( 1 )创建数据库course_db ( 2 )在数据库创建两张表 course_1 和 course_ ( 3 )约定规则:如果添加课程id是偶数把数据添加course_...Sharding-JDBC 分片策略 地址 ( 1 )在项目application.properties配置文件中进行配置 有错的 # sharding-jdbc 水平分表策略 # 配置数据源,给数据源起别名...user表,但实际car表在插入数据的时候,也被使用了雪花算法,虽然car使用了主键自增策略。...3.Sharding-JDBC 实现水平分库 1 、需求分析 2 、创建数据库和表 create database edu_db_1; create database edu_db_2; use edu_db...1 、公共表 ( 1 )存储固定数据的表,表数据很少发生变化,查询时候经常进行关联 ( 2 )在每个数据库中创建出相同结构公共表 2 、在多个数据库都创建相同结构公共表 3个表分别添加 use user_db

    23110

    【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

    54610

    【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 文件来初始化数据库

    44320

    【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 是不一样的; 某些时候我们可能希望将准备好的

    84900

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

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

    5.8K20
    领券