JDBC連接問題?
驅(qū)動是5.1.40的,MySQL是5.6.33的,數(shù)據(jù)庫開著,能進能修改
package?com.kevin.db; import?java.sql.Connection; import?java.sql.DriverManager; import?java.sql.ResultSet; import?java.sql.Statement; public?class?DBUtil?{ ????private?static?final?String?URL="jdbc:mysql://127.0.0.1:3306/test"; ????private?static?final?String?USER="root"; ????private?static?final?String?PASSWORD="root"; public?static?void?main(String[]?args)?throws?Exception{ Class.forName("com.mysql.jdbc.Driver"); Connection?conn?=?DriverManager.getConnection(URL,USER,PASSWORD); Statement?stmt?=?conn.createStatement(); ResultSet?rs?=?stmt.executeQuery("SELECT?id,pname?FROM?provinces"); while(rs.next()){ System.out.println(rs.getString("pname")+","+rs.getInt("id")); } } }
下面是異常
Exception?in?thread?"main"?com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:?Communications?link?failure The?last?packet?sent?successfully?to?the?server?was?0?milliseconds?ago.?The?driver?has?not?received?any?packets?from?the?server. at?sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native?Method) at?sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown?Source) at?sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown?Source) at?java.lang.reflect.Constructor.newInstance(Unknown?Source) at?com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at?com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:989) at?com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:632) at?com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1016) at?com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2253) at?com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2284) at?com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2083) at?com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:806) at?com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) at?sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native?Method) at?sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown?Source) at?sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown?Source) at?java.lang.reflect.Constructor.newInstance(Unknown?Source) at?com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at?com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:410) at?com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:328) at?java.sql.DriverManager.getConnection(Unknown?Source) at?java.sql.DriverManager.getConnection(Unknown?Source) at?com.kevin.db.DBUtil.main(DBUtil.java:14) Caused?by:?java.net.SocketException:?Connection?reset at?java.net.SocketInputStream.read(Unknown?Source) at?java.net.SocketInputStream.read(Unknown?Source) at?com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:101) at?com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:144) at?com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:174) at?com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:3005) at?com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:567) ...?16?more
2016-11-23
你的數(shù)據(jù)庫密碼沒有設置吧?private?static?final?String?PASSWORD="root";這個里面的root是Mysql登陸密碼,老師的數(shù)據(jù)庫密碼是root,你自己的要改成你電腦上的數(shù)據(jù)庫登陸密碼,還有,如果用戶名你自己設置了,不是默認的root,也是要改成相應的
2016-10-17
代碼一點問題都沒有,我敲了個數(shù)據(jù)庫,運行ok,你看看你JDBC的包拿進來了么,build path了么