jdbc.properties配置信息
driverClasss=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://locahost:3306/test?luseUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
username=root
password=123456
#\u5B9A\u4E49\u521D\u59CB\u8FDE\u63A5\u6570
initialSize=0
#\u5B9A\u4E49\u6700\u5927\u8FDE\u63A5\u6570
maxActive=20
#\u5B9A\u4E49\u6700\u5927\u7A7A\u95F2
maxIdle=20
#\u5B9A\u4E49\u6700\u5C0F\u7A7A\u95F2
minIdle=1
#\u5B9A\u4E49\u6700\u957F\u7B49\u5F85\u65F6\u95F4
maxWait=60000
#\u7528\u4E8E\u9A8C\u8BC1\u8FDE\u63A5\u662F\u5426\u6210\u529F
validationQuery=select current_date()
#\u7A7A\u95F2\u65F6\u662F\u8FDB\u884C\u9A8C\u8BC1\uFF0C\u68C0\u67E5\u5BF9\u8C61\u662F\u5426\u6709\u6548
testWhileIdle=true
#\u6BCF30\u79D2\u8FDB\u884C\u4E00\u6B21\u68C0\u9A8C
timeBetweenEvictionRunsMillis=30000
#\u5728\u8FDB\u884C\u540E\u53F0\u5BF9\u8C61\u6E05\u7406\u65F6\uFF0C\u6BCF\u6B21\u68C0\u67E530\u4E2A\u94FE\u63A5
numTestsPerEvictionRun=20
#\u6BCF\u6B21\u68C0\u9A8C\u4E2D\u5C06\u8D85\u8FC730\u5206\u949F\u5904\u4E8E\u7A7A\u95F2\u7684\u8FDE\u63A5\u65AD\u5F00
minEvictableIdleTimeMillis=1800000
spring-resource.xml配置信息
<context:property-placeholder location="classpath:/spring/jdbc.properties" ignore-unresolvable="true"/>
<import resource="classpath:springRedis.xml"></import>
<!-- 配置数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" >
<property name="driverClassName" value="${driverClasss}"/>
<property name="url" value="${jdbcUrl}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
<!-- 初始化连接大小 -->
<property name="initialSize" value="${initialSize}"></property>
<!-- 连接池最大数量 -->
<property name="maxActive" value="${maxActive}"></property>
<!-- 连接池最大空闲 -->
<property name="maxIdle" value="${maxIdle}"></property>
<!-- 连接池最小空闲 -->
<property name="minIdle" value="${minIdle}"></property>
<!-- 获取连接最大等待时间 -->
<property name="maxWait" value="${maxWait}"></property>
<!-- 验证连接是否成功的查询SQL语句 -->
<property name="validationQuery" value="${validationQuery}" />
<!-- 空闲时是进行验证 检查对象是否有效 -->
<property name="testWhileIdle" value="${testWhileIdle}" />
<!-- 进行一次连接检验的时间 -->
<property name= "timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}" />
<!-- 在进行后台对象清理时 每次检查多少个链接 -->
<property name= "numTestsPerEvictionRun" value="${numTestsPerEvictionRun}" />
<!-- 每次检验中将超过多长时间处于空闲的连接断开 -->
<property name="minEvictableIdleTimeMillis" value="${minEvictableIdleTimeMillis}" />
</bean>
启动一切正常,访问出现如下错误:
java.sql.SQLException: Access denied for user 'Administrator'@'192.168.5.103' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:910)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3923)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1273)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2031)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
解决办法:
修改jdbc.properties配置信息
driverClasss=com.mysql.jdbc.DriverjdbcUrl=jdbc:mysql://locahost:3306/test?luseUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
name=root
password=123456
#\u5B9A\u4E49\u521D\u59CB\u8FDE\u63A5\u6570
initialSize=0
#\u5B9A\u4E49\u6700\u5927\u8FDE\u63A5\u6570
maxActive=20
#\u5B9A\u4E49\u6700\u5927\u7A7A\u95F2
maxIdle=20
#\u5B9A\u4E49\u6700\u5C0F\u7A7A\u95F2
minIdle=1
#\u5B9A\u4E49\u6700\u957F\u7B49\u5F85\u65F6\u95F4
maxWait=60000
#\u7528\u4E8E\u9A8C\u8BC1\u8FDE\u63A5\u662F\u5426\u6210\u529F
validationQuery=select current_date()
#\u7A7A\u95F2\u65F6\u662F\u8FDB\u884C\u9A8C\u8BC1\uFF0C\u68C0\u67E5\u5BF9\u8C61\u662F\u5426\u6709\u6548
testWhileIdle=true
#\u6BCF30\u79D2\u8FDB\u884C\u4E00\u6B21\u68C0\u9A8C
timeBetweenEvictionRunsMillis=30000
#\u5728\u8FDB\u884C\u540E\u53F0\u5BF9\u8C61\u6E05\u7406\u65F6\uFF0C\u6BCF\u6B21\u68C0\u67E530\u4E2A\u94FE\u63A5
numTestsPerEvictionRun=20
#\u6BCF\u6B21\u68C0\u9A8C\u4E2D\u5C06\u8D85\u8FC730\u5206\u949F\u5904\u4E8E\u7A7A\u95F2\u7684\u8FDE\u63A5\u65AD\u5F00
修改spring-resource.xml配置信息
<context:property-placeholder location="classpath:/spring/jdbc.properties" ignore-unresolvable="true"/><import resource="classpath:springRedis.xml"></import>
<!-- 配置数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" >
<property name="driverClassName" value="${driverClasss}"/>
<property name="url" value="${jdbcUrl}"/>
<property name="username" value="${name}"/>
<property name="password" value="${password}"/>
<!-- 初始化连接大小 -->
<property name="initialSize" value="${initialSize}"></property>
<!-- 连接池最大数量 -->
<property name="maxActive" value="${maxActive}"></property>
<!-- 连接池最大空闲 -->
<property name="maxIdle" value="${maxIdle}"></property>
<!-- 连接池最小空闲 -->
<property name="minIdle" value="${minIdle}"></property>
<!-- 获取连接最大等待时间 -->
<property name="maxWait" value="${maxWait}"></property>
<!-- 验证连接是否成功的查询SQL语句 -->
<property name="validationQuery" value="${validationQuery}" />
<!-- 空闲时是进行验证 检查对象是否有效 -->
<property name="testWhileIdle" value="${testWhileIdle}" />
<!-- 进行一次连接检验的时间 -->
<property name= "timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}" />
<!-- 在进行后台对象清理时 每次检查多少个链接 -->
<property name= "numTestsPerEvictionRun" value="${numTestsPerEvictionRun}" />
<!-- 每次检验中将超过多长时间处于空闲的连接断开 -->
<property name="minEvictableIdleTimeMillis" value="${minEvictableIdleTimeMillis}" />
</bean>
最后从起tomcat,访问项目,一切正常