這是怎么回事
package util;
import java.sql.Connection;
import java.sql.DriverManager;
public class DBHelper {
?private static final String driver = "com.mysql.jdbc.Driver"; //數(shù)據(jù)庫(kù)驅(qū)動(dòng)
?//連接數(shù)據(jù)庫(kù)的URL地址
?private static final String url="jdbc:mysql://localhost:3306/shopping?useUnicode=true&characterEncoding=UTF-8";
?private static final String username="root";//數(shù)據(jù)庫(kù)的用戶名
?private static final String password="";//數(shù)據(jù)庫(kù)的密碼
???
?private static Connection conn=null;
?
?//靜態(tài)代碼塊負(fù)責(zé)加載驅(qū)動(dòng)
?static
?{
??try
??{
???Class.forName(driver);
??}
??catch(Exception ex)
??{
???ex.printStackTrace();
??}
?}
?
?//單例模式返回?cái)?shù)據(jù)庫(kù)連接對(duì)象
?public static Connection getConnection() throws Exception
?{
??if(conn==null)
??{
???conn = DriverManager.getConnection(url, username, password);
???return conn;
??}
??return conn;
?}
?
?public static void main(String[] args) {
??
??try
??{
???? Connection conn = DBHelper.getConnection();
???? if(conn!=null)
???? {
????? System.out.println("數(shù)據(jù)庫(kù)連接正常!");
???? }
???? else
???? {
????? System.out.println("數(shù)據(jù)庫(kù)連接異常!");
???? }
??}
??catch(Exception ex)
??{
???ex.printStackTrace();
??}
??
?}
}
Sat Mar 24 02:30:06 CST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)
?at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
?at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976)
?at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912)
?at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:871)
?at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1714)
?at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1224)
?at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2190)
?at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2221)
?at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2016)
?at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:776)
?at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
?at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
?at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
?at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
?at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
?at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
?at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386)
?at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330)
?at java.sql.DriverManager.getConnection(DriverManager.java:664)
?at java.sql.DriverManager.getConnection(DriverManager.java:247)
?at util.DBHelper.getConnection(DBHelper.java:32)
?at util.DBHelper.main(DBHelper.java:42)
2019-04-02
我的開始也是這樣,應(yīng)為下載的源代碼里邊是沒有輸入密碼的,可能你的mysql以前設(shè)置了密碼,所以提示沒有輸入密碼,應(yīng)該在DBHelper.java中的private static final String password="";? 引號(hào)中輸入密碼。
2018-04-02
去下個(gè)SSL安裝就行了