Spring jdbc:initialize-database无法正常工作

时间:2012-06-06 16:27:05

标签: spring spring-mvc hsqldb

我无法获得初始化我的数据库,尽管我可以看到我正在做这件事。我一直得到一个org / springframework / dao / DataAccessResourceFailureException。

这是我的springapp-servlet.xml:

 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="${jdbc.driverClassName}"/>
    <property name="url" value="${jdbc.url}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
</bean>



<jdbc:initialize-database data-source="dataSource" ignore-failures="DROPS">
<jdbc:script location="classpath:create_products.sql" />
<jdbc:script location="classpath:load_data.sql" />
 </jdbc:initialize-database>

jdbc.properties文件位于Java Resources / src中,如下所示:

 jdbc.driverClassName=org.hsqldb.jdbcDriver
 jdbc.url=jdbc:hsqldb:hsql://localhost
 jdbc.username=sa
 jdbc.password=

create_products.sql也在Java Resources / src中,是这样的:     CREATE TABLE产品(       id INTEGER NOT NULL PRIMARY KEY,       description varchar(255),       价格小数(15,2)      );

load_data.sql位于同一位置,是:

INSERT INTO products (id, description, price) values(1, 'Lamp', 5.78);
INSERT INTO products (id, description, price) values(2, 'Table', 75.29);
INSERT INTO products (id, description, price) values(3, 'Chair', 22.81);

有什么建议吗? 感谢。

1 个答案:

答案 0 :(得分:0)

Dave可能你在springapp-servlet.xml cvc-complex-type.2.4.b: The content of element 'jdbc:initialize-database' is not complete. One of '{"http://www.springframework.org/schema/jdbc":script}' is expected.中也遇到了这个错误?

org.springframework.jdbc.datasource.init包提供了对初始化现有DataSource的支持。只需检查你的spring-jdbc版本。 参考:[http://static.springsource.org/spring/docs/3.0.0.RC3/reference/html/ch12s09.html][1]

只需打开spring-jdbc jar并在org/springframework/jdbc/datasource下看到,如果你能看到名称init的任何文件夹。如果init文件夹不存在,那么Spring Framework版本你正在使用不支持此功能。

enter image description here