我正在从事一个纯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>
没有表,没有数据...任何想法可能导致此现象或如何有效排除故障?
答案 0 :(得分:0)
脚本正在运行,但是我没有连接到正确的实例。通过记录,我能够找到正确的名称:
Starting embedded database: url='jdbc:h2:mem:dataSource;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=false'
在我的情况下是 dataSource