【问题标题】:Dump H2 insert statements转储 H2 插入语句
【发布时间】: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 完成的。

【问题讨论】:

    标签: java jdbc h2


    【解决方案1】:

    要过滤掉插入,您可以使用:

    if (columnValue.startsWith("INSERT")) {
        out.println(columnValue);
    }
    

    【讨论】:

    • 您是之前在评论中发表此内容的人吗?我没有机会回复该评论,现在也没有看到。
    • 是的,我首先将其添加为评论。
    • 对我不起作用。我的导出不包含任何 INSERT 语句。
    • 这很容易!但是我已经检查过了,不,我的表中填充了数据。 :-/
    • @PeterWippermann 在这种情况下,我需要一个简单、可重现的测试用例。因为我无法复制它。
    猜你喜欢
    • 2020-10-26
    • 1970-01-01
    • 2012-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多