2017-05-11 2 views
-1

私はjavaで新しいです。java mysql db connection

package program; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 
import java.util.Properties; 

public class mysql { 
     private static final String DATABASE_DRIVER = "com.mysql.jdbc.Driver"; 
     private static final String DATABASE_URL = "jdbc:mysql://mysql.cba.pl:3306/dbname"; 
     private static final String USERNAME = "login"; 
     private static final String PASSWORD = "pass"; 
     private static final String MAX_POOL = "250"; 

    private Connection connection; 
    private Properties properties; 

    private Properties getProperties() { 
     if (properties == null) { 
      properties = new Properties(); 
      properties.setProperty("user", USERNAME); 
      properties.setProperty("password", PASSWORD); 
      properties.setProperty("MaxPooledStatements", MAX_POOL); 
     } 
     return properties; 
    } 

    public Connection connect() { 
     if (connection == null) { 
      try { 
       Class.forName(DATABASE_DRIVER); 
       connection = DriverManager.getConnection(DATABASE_URL, getProperties()); 
      } catch (ClassNotFoundException | SQLException e) { 
       e.printStackTrace(); 
      } 
     } 
     return connection; 
    } 

    public void disconnect() { 
     if (connection != null) { 
      try { 
       connection.close(); 
       connection = null; 
      } catch (SQLException e) { 
       e.printStackTrace(); 
      } 
     } 
    } 

}

メインjavaファイル:

package program; 

public class main { 

    public static void main(String[] args){ 
     mysql db = new mysql(); 
     db.connect(); 
    } 

} 
私は私がこの

mysql.javaファイルを持っている

JavaでMySQLのDBに接続しようとしています

エラーが発生しました

ojdbc6-11.2.0.2.0.jarをダウンロードしてプロジェクトフォルダに入れた後、jarファイルからライブラリを追加します。 私は間違っていますか? 私は誰かが同様に私を助けることができると思いますので、私はJavaで本当に新しいです:)

私は、Eclipse標準/ SDKに

バージョン使用しています:ケプラーリリース ビルドID:20130614から0229

+0

重複したhttp://stackoverflow.com/questions/1585811/classnotfoundexception-com-mysql-jdbc-driver - そこから解決策を見つけることができます。 –

+1

[ClassNotFoundException com.mysql.jdbc.Driver]の重複している可能性があります(http://stackoverflow.com/questions/1585811/classnotfoundexception-com-mysql-jdbc-driver) – Antimony

答えて

0

をouはcom.mysql.jdbc_5.1.5ドライバをmysql接続のために使用し、WEB-INF>Libフォルダにjarファイルをペーストし、jarファイルのパスをプロパティ> buildpathに使用し、外部jarを使用する必要があります。

+0

'WEB-INF'?誰がWebアプリケーションについて何を言ったのですか? – avojak

+0

誰がWebアプリケーションではない、またはデスクトップアプリケーションであると誰が言ったか – Sharma

+0

質問には何も表示されていません。Webアプリケーションに固有の答えを出す場合は、OPが最初にWebアプリケーションを構築していることを確認することができます。 – avojak

0

が、それは私がcom.mysql.jdbc_5.1.5ドライバでそれを変更し、

OK通常のデスクトップアプリケーションになります、私は他の人.javaファイルとプロジェクトのパスでこれを貼り付け、uはプロパティで言ったように付け加えました。 は今、私はこれを取得しています:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

Last packet sent to the server was 0 ms ago. 
    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:406) 
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074) 
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2104) 
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:729) 
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46) 
    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:406) 
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302) 
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:283) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at program.mysql.connect(mysql.java:32) 
    at program.main.main(main.java:7) 
Caused by: java.net.ConnectException: Connection refused: connect 
    at java.net.DualStackPlainSocketImpl.connect0(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source) 
    at java.net.PlainSocketImpl.connect(Unknown Source) 
    at java.net.SocksSocketImpl.connect(Unknown Source) 
    at java.net.Socket.connect(Unknown Source) 
    at java.net.Socket.connect(Unknown Source) 
    at java.net.Socket.<init>(Unknown Source) 
    at java.net.Socket.<init>(Unknown Source) 
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256) 
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276) 
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2027) 
    ... 13 more 

は正しいmysql.javaファイルですか?

編集: 私は

"com.mysql.jdbc_5.1.5.Driver" 

でこの

private static final String DATABASE_DRIVER = "com.mysql.jdbc.Driver"; 

を変更しようとしたと私は[OK]を、ほとんど私はこれを持っているいくつか以下のエラー

java.lang.ClassNotFoundException: com.mysql.jdbc_5.1.5.Driver 
at java.net.URLClassLoader.findClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Unknown Source) 
at program.mysql.connect(mysql.java:31) 
at program.main.main(main.java:7) 
0

をのgettinています。もう一つのこと。 イムは、私はこの得た上で、オンラインDBに接続しよう:何が起こっているか細かい
を働いているローカルホストのDB(XAMP)上

SQLException: 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. 
SQLState: 08S01 
VendorError: 0 

を?

関連する問題