相关疑难解决方法(0)

使用Spring启动和设置内存数据库

我正在使用Spring编写一个Java的小型演示应用程序,它需要访问数据库.它应该在不同的机器上运行,设置一个真正的数据库将是太多的努力.因此我想使用嵌入式的.

DB具有给定的模式(两个表)和一些(非常少的)预定义的条目.我正在寻找一种简单的方法来启动内存数据库,创建表并填充数据.所有这些都应该在初始化Spring上下文时发生.

我的方法是使用H2作为我的数据库,然后使用Spring Batch从csv-或xml-files加载数据.但是我希望可能有更简单的方法来实现这一目标.是否有任何数据库/框架/工具可以开箱即用?

它只需要一些SQL命令来设置我需要的一切.我正在寻找一种在Spring环境中尽可能简单的方法.

database spring imdb h2

15
推荐指数
2
解决办法
4万
查看次数

Spring-Boot仅在一个配置文件中执行data.sql

我有这个应用程序使用配置文件"默认"它连接到PostgreSQL数据库并使用Flyway进行迁移.

我想创建另一个名为"devEmbeddedCreate"的配置文件,我需要使用嵌入式数据库服务器(h2),spring.jpa.hibernate.ddl-auto=create-drop在application.properties文件中创建数据库并执行一个不同的"data.sql"脚本来初始化一些表.

如果我将脚本保留为"data.sql"文件名,则每次应用程序启动时都会执行该文件.这是我不想发生的事情,我需要它只在某个特定的配置文件中执行.

我试过的事情:

  1. 文档提到可以有一个schema-${platform}.sql文件,您可以spring.datasource.platform在配置中定义平台.它不适用于data-${platform}.sql文件的问题.(这里)

  2. 创建了一个EmbeddedDatabaseBuilder.问题是当我使用它时,它不会自动创建数据库并仅应用指定的脚本.无法找到自动创建数据库的方法spring.jpa.hibernate.ddl-auto=create-drop.(这里和这里)

  3. 寻找一种将XML配置转换为基于Java的配置的方法,找到了一种创建数据库的方法.经过大量的调整和更改在内存中工作后,它看起来很有前景,但是在启动时(这里)无法找出数据库为什么关闭(并擦除其所有结构)

必须有一种更简单的方法来说出"嘿春天...... data-devEmbeddedCreate.sql当我的个人资料出现时,运行strartup这个脚本devEmbeddedCreate,对吗?

java spring hibernate jpa spring-boot

14
推荐指数
1
解决办法
1万
查看次数

什么时候被称为嵌入式数据库?

术语"嵌入式数据库"是否与"数据库"具有不同的含义?

java mysql sql database java-ee

13
推荐指数
2
解决办法
6975
查看次数

标签 统计

database ×2

java ×2

spring ×2

h2 ×1

hibernate ×1

imdb ×1

java-ee ×1

jpa ×1

mysql ×1

spring-boot ×1

sql ×1