连接mysql和Java的问题

时间:2010-12-14 04:00:55

标签: java mysql jdbc

我正在尝试将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());       
      }

5 个答案:

答案 0 :(得分:2)

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
}

答案 1 :(得分:1)

尝试通过合并此行来加载驱动程序。

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

答案 2 :(得分:1)

确保{class 1}}在您的类路径中。如果您没有,可以download it here

答案 3 :(得分:1)

您假设您已正确设置CLASSPATH。请解释一下你是如何做的,这样我们就能告诉你它是否正确。

如果你设置了一个名为CLASSPATH的环境变量,那几乎肯定是错误的。

如果您的应用适用于网络或桌面,则会有所不同。请告诉我们哪一个适合你。

更新:

为桌面应用程序设置CLASSPATH的正确方法是在运行时在JVM上使用-classpath选项:

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

答案 4 :(得分:1)

设置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