java - 在部署时,H2嵌入式数据库丢失表/数据

  显示原文与译文双语对照的内容
0 0

现在我有一个应用,它使用数据库,现在我需要使用一个嵌入式数据库,所以你要在应用程序中使用它,而数据库已经有了所有的信息。

我已经把应用程序导出到一个 jar 文件,然后在我的pc上工作,但是当我复制它的时候表数据。 我做错什么了?

先谢谢了

时间: 原作者:

0 0

有多个选项一个选项是:

  • 使用SQL语句 SCRIPT TO'~/script.sql' 从当前数据库创建一个SQL脚本文件。
  • 将文件 script.sql 从用户主目录复制到应用程序的源目录,以便将它的作为资源绑定。 使用应用程序( 因为那是最简单的解决方案) 源代码的root 目录。
  • 在目标计算机中,使用数据库 URL jdbc:h2:~/data;INIT=runscript from 'classpath:script.sql' 这将打开数据库并运行脚本。 它将以资源的形式读取脚本。

还有它的他选项,但是他们要求你读取数据库of的文档。

原作者:
0 0

查看一个类似的问题( 将导出的数据库使用到 H2 ),我发现上面有很多有用的答案,但不能使脚本工作。 我的数据库是 mySQL 。将数据库导出为为我工作的脚本的方法来自 linux shell:


mysqldump -u[user] [databasename]> exportscriptfile.sql

然后我在脚本上做了一些抛光工作,这样php就能读它( 见上的类似的东西,这样线程

下面是使用 jdbc EmbeddedDatabaseBuilder的基于java的spring 配置。 作为bean创建的数据源可以在任何jdbc调用中使用:


@Configuration
public class H2DBConfig {

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

原作者:
...