JY_csdn007 2016-09-01 13:06 采纳率: 50%
浏览 2776

关于jdbc的一个奇怪的问题

public class JdbcUtils {
    private static Properties config = new Properties();
    static {
        try {
            config.load(JdbcUtils.class.getClassLoader().getResourceAsStream("db.properties"));
            Class.forName(config.getProperty("jdbc.driverClass"));
        } catch (Exception e) {
        }
    }
    public static Connection getConn() throws SQLException {
        return DriverManager.getConnection(config.getProperty("jdbc.url"), config.getProperty("jdbc.username"),
                config.getProperty("jdbc.password"));
    }
    public static void main(String[] args) throws SQLException {
        System.out.println(getConn());
    }
}

报了下面的错误:
Exception in thread "main" java.sql.SQLException: Access denied for user 'root '@'localhost' (using password: YES)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:695)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:663)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:653)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:115)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:1663)
at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:662)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:352)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:221)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at cn.njit.utils.JdbcUtils.getConn(JdbcUtils.java:20)
at cn.njit.utils.JdbcUtils.main(JdbcUtils.java:24)

但是如果在main方法里面直接打印DriverManager.getConnection("jdbc:mysql:///sx?serverTimezone=Asia/Shanghai&useSSL=false", "root", "123456");是没有问题的

  • 写回答

4条回答 默认 最新

  • 泰 戈 尔 博客专家认证 2016-09-01 13:37
    关注
     在main方法里面直接打印DriverManager.getConnection("jdbc:mysql:///sx?serverTimezone=Asia/Shanghai&useSSL=false", "root", "123456");是没有问题的
    

    这就说明你的root用户在localhost主机上访问异常,所以有可能是获取到的密码或其他字段有误!

    config.getProperty("jdbc.driverClass")

    确认一下此值是否为你的class所需

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!