Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Access denied for user ‘用户名’@‘localhost’ (using password: YES)
原properties文件和Bean的注入:
driver = com.mysql.cj.jdbc.Driver
url = jdbc:mysql://localhost:3306/ssmbuild?serverTimezone=UTC
username = root
password = 123456
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${driver}"/>
<property name="jdbcUrl" value="${url}"/>
<property name="user" value="${username}"/>
<property name="password" value="${password}"/>
</bean>
只需要在properties里的key上加上jdbc.的前缀即可(username会找到主机的用户名,可能不是你的数据库用户)
修改后的文件:
jdbc.driver = com.mysql.cj.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/ssmbuild?serverTimezone=UTC
jdbc.username = root
jdbc.password = 123456
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
这里使用的是c3p0连接池,Spring自带的或别的操作与此相同