报错:
Caused by: java.sql.SQLException: Access denied for user ''@'localhost' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1094)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4208)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4140)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:925)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1747)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1287)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2494)
at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2332)
applicationContext-dao.xml:
<!--加载配置文件--> <context:property-placeholder location="classpath:properties/db.properties" /> <!--数据库连接池--> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> <property name="url" value="${jdbc.url}" /> <property name="driverClassName" value="${jdbc.driver}" /> <property name="name" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <property name="maxActive" value="10" /> <property name="minIdle" value="5" /> </bean>
db.properties:
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/taotao?useUnicode=true&autoReconnect=true&characterEncoding=utf-8 jdbc.username=root jdbc.password=rootadmin
直接在命令行下用mysql-hlocalhost-uroot-p然后输入密码试试看啊
可是能登录成功,肯定没有配置错误该用户没有配置localhost的访问权限设置下就行了这样设置还是不行,我可以确定application-Context-dao.xml是读到db.properties的grantallprivilegesontaotao.*toroot @localhostidentifiedby"rootadmin";我这样设置的对不对安?解决了,虽然不知道什么原因.
mavenclean一下,再重新部署到tomcat上,就OK了
<propertyname="name"value="${jdbc.username}"/>这行写错了,name换成username哇我都不知道怎么错的谢大佬
<propertyname="name"value="${jdbc.username}"/>这行写错了,name换成username
在Spring完成注入时是用"${..}" 方式获取值完成注入的。而通过这种表达式也能直接获取到JVM系统属性。
因为在系统中也有个username属性,这时系统变量覆盖了Properties中的值,这时取得username的值为系统的用户名Administrator(主机名),密码为properties中的password去查询数据库,此时用户名名和密码并不匹配就会报错。
改正方法就是将db.properties中的username,加个前缀
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。