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");是没有问题的