Spring + H2嵌入式SQL脚本无法正常运行

时间:2019-08-20 05:05:12

标签: spring h2

我正在从事一个纯Spring项目,并尝试将h2用作嵌入式数据库。这是我的定义:

<jdbc:embedded-database id="dataSource" type="H2">
    <jdbc:script location="classpath:create-db.sql" />
</jdbc:embedded-database>

控制台显示如下信息:

ScriptUtils:442 - Executing SQL script from class path resource [create-db.sql]

这是我的 create-db.sql 的样子:

DROP TABLE account IF EXISTS;

CREATE TABLE account (
    id INTEGER PRIMARY KEY,
    name VARCHAR(30),
    email  VARCHAR(50)
);

我通过使用以下命令初始化秋千管理器:

<bean depends-on="dataSource" class="org.springframework.beans.factory.config.MethodInvokingBean">
    <property name="targetClass" value="org.hsqldb.util.DatabaseManagerSwing" />
    <property name="targetMethod" value="main" />
    <property name="arguments">
        <list>
            <value>--url</value>
            <!-- <value>jdbc:hsqldb:memory:oa</value> -->
            <value>jdbc:h2:mem:oa</value>
            <value>--user</value>
            <value>sa</value>
            <value>--password</value>
            <value></value>
        </list>
    </property>
</bean>

没有表,没有数据...任何想法可能导致此现象或如何有效排除故障?

1 个答案:

答案 0 :(得分:0)

脚本正在运行,但是我没有连接到正确的实例。通过记录,我能够找到正确的名称:

Starting embedded database: url='jdbc:h2:mem:dataSource;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=false'

在我的情况下是 dataSource