转储 H2 插入语句
Posted
技术标签:
【中文标题】转储 H2 插入语句【英文标题】:Dump H2 insert statements 【发布时间】:2012-11-18 10:32:20 【问题描述】:您好,我怎样才能仅为 H2 In Memory DB 的实例转储数据。
我目前拥有的
PreparedStatement preparedStatement = connection
.prepareStatement("SCRIPT SIMPLE NOSETTINGS");
ResultSet resultSet = preparedStatement.executeQuery();
response.setContentType("text/plain");
ServletOutputStream out = response.getOutputStream();
while (resultSet.next())
String columnValue = resultSet.getString(1);
out.print(columnValue);
out.println();
这会转储整个数据库结构,但不仅仅是插入数据。基本上我想要做的是备份我在开发模式下插入的数据,以便下次启动数据库时我可以将数据重新写入脚本。
表结构不是问题,因为它是由 JPA 完成的。
【问题讨论】:
【参考方案1】:要过滤掉插入,您可以使用:
if (columnValue.startsWith("INSERT"))
out.println(columnValue);
【讨论】:
您是之前在评论中发表此内容的人吗?我没有机会回复该评论,现在也没有看到。 是的,我首先将其添加为评论。 对我不起作用。我的导出不包含任何 INSERT 语句。 这很容易!但是我已经检查过了,不,我的表中填充了数据。 :-/ @PeterWippermann 在这种情况下,我需要一个简单、可重现的测试用例。因为我无法复制它。以上是关于转储 H2 插入语句的主要内容,如果未能解决你的问题,请参考以下文章