Access denied for user 'root'@'localhost'
九月 08, 2021 4:45:53 下午 com.alibaba.druid.pool.DruidDataSource info
信息: {dataSource-1} inited
九月 08, 2021 4:45:53 下午 com.alibaba.druid.pool.DruidDataSource error
严重: create connection SQLException, url: jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai &allowPublicKeyRetrieval=true, errorCode 1045, state 28000
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1644)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1710)
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2753)
package com.imooc.homework.jdbc1.sample;
/**
* Druid连接池的配置和使用
*/
import com.alibaba.druid.pool.DruidDataSourceFactory;
import com.imooc.homework.jdbc1.common.DbUtils;
import javax.sql.DataSource;
import java.io.FileInputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Properties;
public class DruidSample {
public static void main(String[] args) {
Properties properties=new Properties();
String propertyFile = DruidSample.class.getResource("/druid-config.properties").getPath();
try {
propertyFile = new URLDecoder().decode(propertyFile,"UTF-8"); //%20转化为空格
// 1、加载属性文件
properties.load(new FileInputStream(propertyFile));
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(propertyFile);
Connection conn= null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
// 2、获取DataSource对象
DataSource dataSource=DruidDataSourceFactory.createDataSource(properties);
// 3、创建数据库连接
conn=dataSource.getConnection();
pstmt=conn.prepareStatement("select * from goods limit 0,10");
rs=pstmt.executeQuery();
while (rs.next()) {
//next返回布尔值,如果存在下一条记录返回true,如果没有数据返回false
// 结果集一系列get方法中参数可以输入字段索引或者字段对应的名称
//JDBC中字段索引都是从1开始,而不是0
Integer goodsId=rs.getInt(1);
String name = rs.getString("name");
float price = rs.getFloat(3);
String desp = rs.getString("desp");;
System.out.println(goodsId+"-"+name+"-"+price+"-"+desp);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
DbUtils.closeConnection(rs,pstmt,conn);
}
System.out.println(conn);
}
}
正在回答
同学你好,建议检查下配置文件druid-config.properties中数据库的密码password是否正确。
祝学习愉快~
- 参与学习 人
- 提交作业 9401 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星