Java - JDBC MySQL连接问题

时间:2015-03-21 20:53:55

标签: java mysql jdbc

我正在尝试建立连接但由于某种原因我遇到了问题。

我认为这可能是语法错误 - 但我不完全确定。我已经注释了我尝试过的众多语法方法。我使用MySQL文档寻求帮助,即使遵循他们的语法我也会遇到问题。

当我在没有连接的情况下运行代码时,程序会跳转到try。但是一旦我添加了连接代码,它就会跳转到代码的catch部分 - 因此语法必定存在问题。

有人可以找出我出错的地方吗?提前谢谢。

public void selectData()
{

    try 
    {   
        Connection con = null;

        //Accessing driver from the JAR file
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        //Class.forName("com.mysql.jdbc"); 

        //String a = "jdbc:mysql://localhost:3306/c3361434?profileSQL=true";

        ///String a = "jdbc:mysql://address=(protocol=tcp)(host=localhost)(port=3306)(user=root)(password=root)/c3361434";

        //Connection con = DriverManager.getConnection("jdbc:mysql://address=(protocol=tcp)(host=localhost)(port=3306)(user=root)/c3361434"); 

        //Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/c3361434", "root", "root");

        //con = DriverManager.getConnection("jdbc:mysql://localhost:3306/c3361434?" + "user=root&password=root");

        Output3.setText("Connection has been established");

        /*
        PreparedStatement statement = con.prepareStatement("SELECT * FROM RSA-data");

        ResultSet result = statement.executeQuery();

        while(result.next())
        {
            Output2.setText(result.getString(1));
            Output3.setText("in the while loop");
        }
        */

    }

    catch (Exception e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
        Output4.setText("db fail");
    }
}

2 个答案:

答案 0 :(得分:0)

试试看:在命令行类型中检查你的mysql是否正在运行:

mysqld --install

在java源代码中:

Class.forName("com.mysql.jdbc.Driver");
DriverManager.getConnection("jdbc:mysql://localhost:3306/yourDB?dontTrackOpenResources=true");

答案 1 :(得分:0)

命令mysql无法识别,因为您需要输入特定路径。 例如:

MS - DOS:

cd C:/MySQL/bin

C:/MySQL/bin>mysqld --install

进入文件夹bin有mysqld.exe

你明白了吗?