【发布时间】:2012-06-10 16:57:53
【问题描述】:
我无法让 spring 初始化我的数据库,尽管据我所知,我这样做是正确的。我不断收到 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 中,是这样的: 创建表产品( id INTEGER NOT NULL 主键, 描述 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);
有什么建议吗? 谢谢。
【问题讨论】:
-
我会推荐 Hibernate 来完成这项任务.. 但如果你不能,我认为我能给出的最好建议是获取 log4j 并进行一些日志记录。有了完整的堆栈跟踪,可能会有有人会知道会发生什么。
-
除了初始化,还能访问数据库吗?使用您的 jdbc.url,您需要在运行代码之前单独启动 HSQLDB 服务器。
-
@Dave : 你的 spring 配置文件 'springapp-servlet.xml' 的位置在哪里?
标签: spring spring-mvc hsqldb