我正在尝试在jdbc中创建数据库的池连接,下面是我的代码,但我正在
错误:
org.springframework.beans.factory.UnsatisfiedDependencyException:在类路径资源[resources / database / Database.xml]中定义的名称为'org.springframework.jdbc.datasource.DriverManagerDataSource#0'的bean创建错误:通过表达的不满意依赖关系类型为[java.lang.String]的索引为0的构造函数参数:无法将类型为[org.apache.tomcat.jdbc.pool.DataSource]的构造函数参数值转换为必需类型[java.lang.String]:无法转换'org.apache.tomcat.jdbc.pool.DataSource'类型的值为必需类型'java.lang.String';嵌套异常是java.lang.IllegalStateException:无法将type [org.apache.tomcat.jdbc.pool.DataSource]的值转换为必需的类型[java.lang.String]:找不到匹配的编辑器或转换策略
我正在使用hibernate来保存数据库中的数据,如果我的方法是错误的,如何为JDBC数据库连接创建连接池
database.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<constructor-arg ref="dataSource" />
</bean>
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close">
<property name="driverClassName" value="org.h2.Driver" />
<property name="url" value="jdbc:h2:mem:xml-config" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="initialSize" value="5" />
<property name="maxActive" value="10" />
<property name="maxIdle" value="5" />
<property name="minIdle" value="2" />
</bean>
</beans>
答案 0 :(得分:3)
请删除DriverManagerDataSource的bean声明并包含以下内容以通过jdbcTemplate使用池化的dataSource: -
<bean class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg ref="dataSource" />
</bean>