今天配置spring配置c3p0 datasource时老报错(如题),经多次测试发现原因
原配置:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <!-- 指定连接数据库的JDBC驱动 --> <property name="driverClass"> <value>com.mysql.jdbc.Driver</value> </property> <!-- 连接数据库所用的URL --> <property name="jdbcUrl"> <value>jdbc:mysql://localhost:3306/activiti?autoReconnect=true </value> </property> <!-- 连接数据库的用户名 --> <property name="user"> <value>sa </value> </property> <!-- 连接数据库的密码 --> <property name="password"> <value></value> </property> <!-- 设置数据库连接池的最大连接数 --> <property name="maxPoolSize"> <value>20</value> </property> <!-- 设置数据库连接池的最小连接数 --> <property name="minPoolSize"> <value>2</value> </property> <!-- 设置数据库连接池的初始化连接数 --> <property name="initialPoolSize"> <value>2</value> </property> <!-- 设置数据库连接池的连接的最大空闲时间,单位为秒 --> <property name="maxIdleTime"> <value>20</value> </property> </bean>
配置数据都无问题的情况下,发现以下情况会产生错误:
情况1:value元素值之间出现空格(人为添加)
<property name="driverClass"> <value>com.mysql.jdbc.Driver </value> </property>
情况2:value结束标签换行(当value值比较长时,Ctrl+Shift+F的时就会换行)
<property name="driverClass"> <value>com.mysql.jdbc.Driver </value> </property>
今天产生错误属于情况2,因此建议配置datasource使用下面格式配置:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <!-- 指定连接数据库的JDBC驱动 --> <property name="driverClass" value="com.mysql.jdbc.Driver"> </property> <!-- 连接数据库所用的URL --> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti?autoReconnect=true"> </property> <!-- 连接数据库的用户名 --> <property name="user" value="sa"> </property> <!-- 连接数据库的密码 --> <property name="password" value=""> </property> <!-- 设置数据库连接池的最大连接数 --> <property name="maxPoolSize" value="20"> </property> <!-- 设置数据库连接池的最小连接数 --> <property name="minPoolSize" value="2"> </property> <!-- 设置数据库连接池的初始化连接数 --> <property name="initialPoolSize" value="2"> </property> <!-- 设置数据库连接池的连接的最大空闲时间,单位为秒 --> <property name="maxIdleTime" value="20"> </property> </bean>