簡體   English   中英

連接mysql和Java的問題

[英]Problem to connect mysql and Java

我正在嘗試將Java代碼連接到mySQL。 這是我得到的錯誤。 我不明白為什么沒有找到驅動程序因為我把連接器jar放在類路徑上。

Class Not Found Exception:
No suitable driver found for jdbc:mysql://localhost/hpdata?user=root&password=12
3456
Exception in thread "main" java.lang.NullPointerException
    at edu.indiana.iucbrf.feature.featurespec.FeatureSpecRDB.open(FeatureSpe
cRDB.java:122)
    at edu.indiana.iucbrf.feature.featurespec.FeatureSpecRDB.<init>(FeatureS
pecRDB.java:66)
    at edu.indiana.iucbrf.domain.componentfactory.RDBComponentFactory.constr
uctProblemFeatureSpecCollection(RDBComponentFactory.java:112)
    at edu.indiana.iucbrf.domain.Domain.<init>(Domain.java:239)
    at edu.indiana.iucbrf.domain.Domain.<init>(Domain.java:197)
    at edu.indiana.iucbrf.examples.honeypotRDBTemplate.HDomainRDB.<in
it>(HDomainRDB.java:56)
    at edu.indiana.iucbrf.examples.hRDBTemplate.HSystemRDB.set
 upDomain(HSystemRDB.java:198)
    at edu.indiana.iucbrf.examples.hRDBTemplate.HSystemRDB.<in
it>(HSystemRDB.java:131)
    at edu.indiana.iucbrf.examples.hRDBTemplate.HTestClassRDB.
main(HTestClassRDB.java:65)

這是我的代碼:

   private static void flush() {

  Class.forName("com.mysql.jdbc.Driver").newInstance();

    try {

   conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/hpdata?user=root&password=123456");  

      } catch (Exception e) {
          System.out.println("Class Not Found Exception:");
          System.out.println(e.getMessage());       
      }
try {
 String driverName = "com.mysql.jdbc.Driver";
 Class.forName(driverName);

 String serverName = "localhost";
 String mydatabase = "hpdata";
 String url = "jdbc:mysql :// " + serverName + "/" + mydatabase; 

 String username = "root";
 String password = "123456";
 connection = DriverManager.getConnection(url, username, password);
} catch(Exception e) {
 // appropriate action
}

嘗試通過合並此行來加載驅動程序。

Class.forName("com.mysql.jdbc.Driver")

確保mysql-connector-java-<version-number>-bin.jar在您的類路徑中。 如果您沒有,可以在此處下載

您假設您已正確設置CLASSPATH。 請解釋一下你是怎么做的,這樣我們就能告訴你它是否正確。

如果你設置了一個名為CLASSPATH的環境變量,那幾乎肯定是錯誤的。

如果您的應用適用於網絡或桌面,則會有所不同。 請告訴我們哪個是真的。

更新:

為桌面應用程序設置CLASSPATH的正確方法是在運行時在JVM上使用-classpath選項:

java -classpath .;<paths-to-your-JARs-separated-by-semi-colons>;<paths-to-the-root-of-package-trees> foo.YourCode

設置CLASSPATH請將mysql-connector-java-5.1.16-bin復制到這些文件夾中:

C:\Program Files\Java\jdk1.6.0_18\jre\lib\ext

C:\Program Files\Java\jre6\lib\ext

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM