Java程序不会连接到mySQL数据库

时间:2012-03-13 14:09:18

标签: java mysql database connection

在线使用一个简单的例子,我正在运行一个Java程序来从表中返回用户。

数据库是MySQL。我已经下载了JDBC驱动程序,将其存储在我的JRE7 / lib文件夹中。

问题是程序从不连接到数据库,它跳过整个try块并在末尾打印出一个“test”字符串。我忽略了这方面的重要一步吗?这真是令人沮丧!!

编辑:最好描述我是如何尝试建立与数据库的连接。

mysql-connector-java-5.1.18-bin存储在jre7 / lib。

我启动mysql workbench。连接名称是我创建的名称是com.fyp.db,主机地址是127.0.0.1:3306。

然后我运行我的代码,它试图查询示例表 - sakila - 由mySQL workbench提供并且没有!

安装MySQL工作台。安装了JDBC驱动程序。

public class Version {

public static void main(String[] args) {

    Connection con = null;
    Statement st = null;
    ResultSet rs = null;

    //String url = "jdbc:mysql://127.0.0.1/sakila";
    String url = "jdbc:mysql://localhost:3306/sakila";
    String user = "root";
    String password = "root";

    try {

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

        con = DriverManager.getConnection(url, user, password);
        st = con.createStatement();
        rs = st.executeQuery("select * from ACTOR;");

        System.out.println("test");

        if (rs.next()) {
            System.out.println(rs.getString(1));
        }

    } catch (SQLException ex) {
        ex.printStackTrace();

    } finally {
        try {
            if (rs != null) {
                rs.close();
            }
            if (st != null) {
                st.close();
            }
            if (con != null) {
                con.close();
            }

        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }
}

}

4 个答案:

答案 0 :(得分:0)

我认为你需要这一行:

Class.forName("org.mysql.Driver");

在调用DriverManager.getConnection(...);

之前

答案 1 :(得分:0)

您可能应该创建新的驱动程序实例。方法如下:

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

答案 2 :(得分:0)

您需要确保已设置jdbc.drivers属性。有多种方法可以做到这一点,

请参阅the javadocs for DriverManager

答案 3 :(得分:0)

这很简单..你需要.jar文件名为mysql-connector-java-5.1.16-bin.jar ,,,下载并将其添加到你的库...

祝你好运!!!