无法加载JDBC驱动程序

时间:2015-10-20 21:19:57

标签: java mysql jdbc driver

我试图理解JDBC API,为了做到这一点,我只是编写了一些代码来建立与DB的连接。好像我不能...... 我试图手动加载mysql DB的驱动程序,但即使我在类路径中包含连接器.jar,编译器也会抱怨它无法找到com.mysql包。

另一方面,如果我省略了Class.forName()方法,代码会编译,但我在运行时会得到数百个异常行。

我在命令行中编译(和运行)包括jar:

javac -cp [path to jar] DBTest.java

这是我的代码:

import java.sql.*;

class DBTest {
**strong text**
  static final String ADDRESS="jdbc:mysql://127.0.0.1:8888/customer";
  static final String USER="myuser";
  static final String PASSWORD="luca";

  public static void main(String[] args) {
    Connection conn=null;
    Statement stat=null;
    Class.forName("com.mysql.jdbc.Driver");
    try {
      conn=DriverManager.getConnection(ADDRESS,USER,PASSWORD);
      stat=conn.createStatement();
      String query="SELECT * FROM person";
      ResultSet result=stat.executeQuery(query);
      while (result.next()) {
        String name=result.getString("name");
        String surname=result.getString("surname");
        int id=result.getInt("id");
        String telephone=result.getString("telephone");
        System.out.println(id+": first name: "+name+" second name: "+surname+" tel: "+telephone);
      } 
    }
    catch (SQLException e) {
      e.printStackTrace();
    }
    finally {
      try {
        conn.close();
        stat.close();
      }
      catch (Exception e) {
        e.printStackTrace();
      }
    }  
  }

修改

使用双引号现在它编译得很好,但在运行时它会说:

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

1 个答案:

答案 0 :(得分:2)

替换

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

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