Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring引导从内存中的数据库导出SQL_Spring_Hibernate_Spring Mvc_Jpa_Spring Boot - Fatal编程技术网

Spring引导从内存中的数据库导出SQL

Spring引导从内存中的数据库导出SQL,spring,hibernate,spring-mvc,jpa,spring-boot,Spring,Hibernate,Spring Mvc,Jpa,Spring Boot,我需要将整个内存数据库导出到一个sql文件。例如,制作一个@Controller,返回当前mem db状态下的整个SQL生成字符串,或者将其保存在磁盘上的某个位置 配置: 弹簧靴1.8 Spring数据JPA1.7 休眠4.3.6 HSQLDB 2.3.2 我试图找到一种导出数据的方法——模式和所有行——但没有成功。 在类似这样的文章中:EJB3配置已从hibernate中删除,因此所描述的方法不起作用 有什么好办法吗 看一看。这个实用程序有一些方法可以生成您需要的脚本,但我认为您必须使用它

我需要将整个内存数据库导出到一个sql文件。例如,制作一个@Controller,返回当前mem db状态下的整个SQL生成字符串,或者将其保存在磁盘上的某个位置

配置:

  • 弹簧靴1.8
  • Spring数据JPA1.7
  • 休眠4.3.6
  • HSQLDB 2.3.2
我试图找到一种导出数据的方法——模式和所有行——但没有成功。 在类似这样的文章中:EJB3配置已从hibernate中删除,因此所描述的方法不起作用

有什么好办法吗

看一看。这个实用程序有一些方法可以生成您需要的脚本,但我认为您必须使用它的API来归档它

它有一个实用程序,您可以研究如何与它集成。此外,还有一个问题,但这不是你需要的

祝你好运

看一看。这个实用程序有一些方法可以生成您需要的脚本,但我认为您必须使用它的API来归档它

它有一个实用程序,您可以研究如何与它集成。此外,还有一个问题,但这不是你需要的

祝你好运

看一看。这个实用程序有一些方法可以生成您需要的脚本,但我认为您必须使用它的API来归档它

它有一个实用程序,您可以研究如何与它集成。此外,还有一个问题,但这不是你需要的

祝你好运

看一看。这个实用程序有一些方法可以生成您需要的脚本,但我认为您必须使用它的API来归档它

它有一个实用程序,您可以研究如何与它集成。此外,还有一个问题,但这不是你需要的


祝你好运

当您使用HSQLDB时,可以使用其。如果只调用
SCRIPT
,它将返回一个包含数据库模式的结果集。您还可以传入一个文件的路径,它会将整个数据库转储到该文件中。例如,脚本'/path/to/dump.sql'。当您需要模式和所有行时,应该使用后者。请注意,如果文件已存在,则该命令将失败

在使用Spring Boot时,执行
脚本
命令的一种简单方法是使用
JdbcTemplate
。默认情况下,如果您的应用程序有一个
数据源
,那么
JdbcTemplate
实例将自动在您的应用程序上下文中可用

触发数据库转储的
@控制器

导入java.io.File;
导入java.io.IOException;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.jdbc.core.jdbc模板;
导入org.springframework.stereotype.Controller;
导入org.springframework.web.bind.annotation.RequestMapping;
导入org.springframework.web.bind.annotation.ResponseBody;
@控制器
公共类转储数据库控制器{
私有最终对象监视器=新对象();
私有最终JdbcTemplate JdbcTemplate;
@自动连线
公共转储数据库控制器(JdbcTemplate JdbcTemplate){
this.jdbcTemplate=jdbcTemplate;
}
@请求映射(“/dumpDb”)
@应答器
public void dumpDb()引发IOException{
已同步(此.monitor){
文件转储=新文件(“dump.sql”);
if(dump.exists()){
dump.delete();
}
这个.jdbcTemplate.execute(“script'+dump.getAbsolutePath()+”);
}
}
}

请注意使用同步以确保多个线程不会试图同时转储数据库。

在使用HSQLDB时,可以使用其。如果只调用
SCRIPT
,它将返回一个包含数据库模式的结果集。您还可以传入一个文件的路径,它会将整个数据库转储到该文件中。例如,脚本'/path/to/dump.sql'。当您需要模式和所有行时,应该使用后者。请注意,如果文件已存在,则该命令将失败

在使用Spring Boot时,执行
脚本
命令的一种简单方法是使用
JdbcTemplate
。默认情况下,如果您的应用程序有一个
数据源
,那么
JdbcTemplate
实例将自动在您的应用程序上下文中可用

触发数据库转储的
@控制器

导入java.io.File;
导入java.io.IOException;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.jdbc.core.jdbc模板;
导入org.springframework.stereotype.Controller;
导入org.springframework.web.bind.annotation.RequestMapping;
导入org.springframework.web.bind.annotation.ResponseBody;
@控制器
公共类转储数据库控制器{
私有最终对象监视器=新对象();
私有最终JdbcTemplate JdbcTemplate;
@自动连线
公共转储数据库控制器(JdbcTemplate JdbcTemplate){
this.jdbcTemplate=jdbcTemplate;
}
@请求映射(“/dumpDb”)
@应答器
public void dumpDb()引发IOException{
已同步(此.monitor){
文件转储=新文件(“dump.sql”);
if(dump.exists()){
dump.delete();
}
这个.jdbcTemplate.execute(“script'+dump.getAbsolutePath()+”);
}
}
}

请注意使用同步以确保多个线程不会试图同时转储数据库。

在使用HSQLDB时,可以使用其。如果只调用
SCRIPT
,它将返回一个包含数据库模式的结果集。您还可以传入一个文件的路径,它会将整个数据库转储到该文件中。例如,脚本'/path/to/dump.sql'。当您需要模式和所有行时,应该使用后者。请注意,如果文件已存在,则该命令将失败

在使用Spring Boot时,您可以轻松地执行
脚本
com