ssm整合Mybatis无法连接数据库的问题 ‘Access denied for user...’

Posted wangjr1994

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssm整合Mybatis无法连接数据库的问题 ‘Access denied for user...’相关的知识,希望对你有一定的参考价值。

自己在写一个整合例子的时候发现各种文件配置好之后数据库无法连接,一直报错拒绝访问

...
Caused by: java.sql.SQLException: Access denied for user ‘xxx‘@‘localhost‘ (using password: YES)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:827)
	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:447)
	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:237)
	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
	at java.sql.DriverManager.getConnection(DriverManager.java:664)
	at java.sql.DriverManager.getConnection(DriverManager.java:208)
	at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:155)
	at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:146)
	at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:205)
	at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:169)
	at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158)
	at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116)
	at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
	... 49 more

尝试了各种方法,利用Mybatis原生的方式创建 SqlSession 能够正常访问数据库

参考了以前的配置文件,尝试修改了数据库配置文件中的字段之后可以正常运行,最后发现是用户名的问题

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/...
#username=root  //万恶之源
user=root
password=123456

Caused by: java.sql.SQLException: Access denied for user ‘xxx‘@‘localhost‘ (using password: YES)

里面的报错的 user 是系统的用户名而不是配置文件中的 user
所以只要不命名为 username 就可以正常连接了

以上是关于ssm整合Mybatis无法连接数据库的问题 ‘Access denied for user...’的主要内容,如果未能解决你的问题,请参考以下文章

SSM三大框架整合

ssm整合

SSM整合: spring 与 mybatis 整合

整合ssm框架

SSM整合(springMVC+mybatis)

003商城项目:数据库的创建以及ssm框架的整合