私はmysqlとjdbcを初めて使用しますが、このタイトルでエラーが発生します。私は一日中検索していて、自分に合った解決策を見つけることができません。
私が試したこと:mysqlをアンインストール/再インストールし、mysql-connector-Java-5.1.25-bin.jarとojdbc7.jarをコピーして、実行しようとしている.classファイルと同じ場所に貼り付け、プログラムを別のディレクトリに再構築します。 、そしておそらく他のいくつかのこと。
コーディングにはnotepad ++を使用し、コンパイルと実行にはWindowsコマンドプロンプトを使用しています。それはうまくコンパイルされますが、私はで実行しようとします
C:\ Projects\bin> Java-cp。 ClientBase
出力は次のとおりです。
Java.lang.ClassnNotFoundException:com.mysql.jdbc.Driver
java.net.URLClassloader $ 1.run(URLClassLoader.Java:336)で
Java.net.URLClassLoader $ 1.run(URLClassLoader.Java:355)
Java.security.AccessController.doPrivileged(ネイティブメソッド)で
Java.net.URLClassLoader.findClass(URLClassLoader.Java:354)で
Java.lang.ClassLoader.loadClass(ClassLoader.Java:432)で
Sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.Java:308)
Java.lang.ClassLoader.loadClass(ClassLoader.Java:356)で
Java.lang.Class.forName0(ネイティブメソッド)
Java.lang.Class.forName(Class.Java:188)で
ClientBase.main(ClientBase.Java:21)
さようなら。
// import packages
import Java.sql.*;
// create class ClientBase
public class ClientBase{
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/CLIENTBASE";
// Database credentials
static final String USER = "root";
static final String PASS = "";
// Begin method main
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
// register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
// Open connection
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql;
sql = "SELECT id, name, address, address 2, city, phone, state, Zip, fax FROM CLIENTBASE";
ResultSet rs = stmt.executeQuery(sql);
// Extract data from result set
while(rs.next()){
// Retrieve by column name
int id = rs.getInt("id");
String name = rs.getString("name");
String address = rs.getString("address");
String address2 = rs.getString("address2");
String city = rs.getString("city");
String phone = rs.getString("phone");
String state = rs.getString("state");
String Zip = rs.getString("Zip");
String fax = rs.getString("fax");
// Display values
System.out.print("ID: " + id);
System.out.print(" Name: " + name);
System.out.println("Address:" + address);
System.out.println(address2);
System.out.print("City:" + city);
System.out.print(" State: " + state);
System.out.println(" Zip: " + Zip);
System.out.print("Phone: " + phone);
System.out.println(" Fax: " + fax);
} // end while
// clean up
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
// Handle errors for JDBC
se.printStackTrace();
}catch(Exception e){
// Handle errors for Class.forName
e.printStackTrace();
}finally{
// finally block used to close resources
try{
if(stmt!=null)
stmt.close();
}catch(SQLException se){
se.printStackTrace();
} // end finally
} // end try
System.out.println("Goodbye.");
} // End method main
} // end class ClientBase
また、このコードのオンラインチュートリアルを終了する予定です。私が彼らのものと少し違うものを作ることに決めたので、それは彼らがそれを持っている方法とは正確には異なりますが、それは一般的に同じです。エラーが何であるかからは、コードの問題ではないと思います。
どんな助けでもいただければ幸いです!私はおかしくなりそうだ!
ランタイムクラスパスにコネクタライブラリを追加する必要があります。
Java -cp .;mysql-connector-Java-5.1.25-bin.jar ClientBase
私の例では、Windowsクラスパスセパレーターを使用しています";"
、他のシステムでは異なる場合があります(":"
Linux/Macの場合)。また、mysql-connector-Java-5.1.25-bin.jar
は同じフォルダにあります。そうでない場合は、プレーン名の代わりにライブラリへのパスを配置します。
ClientBase
はJavaクラスファイル名はここにあります
c:\>javac Test.Java
c:\>Java -cp .;F:\CK\JavaTest\JDBCTutorial\mysql-connector-Java-5.1.18-bin Test
netbeansを使用する場合は、次の手順を実行します。1.Netbeansを開くIDE 2。プロジェクトを右クリックします。3。プロパティを選択します。4。左側で[ライブラリ]をクリックします。5。[コンパイル]の下「タブ-「Jar /フォルダの追加」ボタンをクリックします。6。ダウンロードした「mysql-connector-Java-5.1.25-bin.jar」ファイルを選択します(dev.mysql.comからConnector/Jをダウンロードします)。7。「OK」をクリックします。 。その仕事。
I was also get same problem :-
Linuxシステムの解決方法。
1。)ファイルをダウンロード mysql-connector-Java-5.1.18-bin.jar 指定されたリンクまたはその他から。
2。)次に、クラスまたはファイルの同じフォルダーまたはディレクトリ(接続を表示する場所)に貼り付けます。
3。)ここで、Linuxコマンドプロンプトで次のコマンドを使用します。
Java -cp .:mysql-connector-Java-5.1.18-bin.jar YourFileName
。
それはあなたがする必要があるすべてです... :)
追加 mysql.connector-Java-x.x.x-bin.jar
ライブラリフォルダに移動します。何もインポートする必要はありません。良いものを持っている。
何をインポートしましたか?ドキュメントから: http://dev.mysql.com/doc/connector-j/en/connector-j-usagenotes-connect-drivermanager.html
import Java.sql.Connection;
import Java.sql.DriverManager;
import Java.sql.SQLException;
// Notice, do not import com.mysql.jdbc.*
// or you will have problems!
コメント:
なぜnotepad ++を使用しているのですか? IDE(Eclipse/Netbeans/IntelliJ)をインストールします-そのような問題を見つけるのははるかに簡単です(たとえば、含まれていないjarファイル)
Swing
を使用している場合は、 my-sql-connect の外部jarを追加する必要があります。
それ以外の場合、jsp servlet
を使用している場合は、外部jarを追加し、そのjarをWEB_INF/libプロジェクトフォルダーにコピーする必要があります。