Java JDBC-无法连接到MySQL

Java JDBC-无法连接到MySQL,java,mysql,jdbc,Java,Mysql,Jdbc,我正在尝试连接到数据库,但我的try/catch不断收到错误。这是我第一次尝试连接JDBC。我不确定我做错了什么,因为我只是在学习教程 代码: 要获得正确的堆栈跟踪,请删除方法中的第一个catch块: public static void main(String[] args) throws Exception { Connection conn = null; try { String userName = "root"; String pass

我正在尝试连接到数据库,但我的try/catch不断收到错误。这是我第一次尝试连接JDBC。我不确定我做错了什么,因为我只是在学习教程

代码:


要获得正确的堆栈跟踪,请删除方法中的第一个catch块:

public static void main(String[] args) throws Exception {
    Connection conn = null;
    try {
        String userName = "root";
        String password = "";
        String url = "jdbc:mysql://localhost:3306/apple";
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        conn = DriverManager.getConnection(url, userName, password);
        System.out.println("Database connection established");
    } finally {
        if (conn != null) {
            try {
                conn.close();
                System.out.println("Database connection terminated");
            } catch (Exception e) { /* ignore close errors */ }
        }
    }
}

然后你会发现错误的本质。您还需要确保mysql-connector.jar位于类路径上。这个jar包含您用来连接的
com.mysql.jdbc.Driver
类。

在查看了上面正确的代码之后,似乎有很多异常的可能性

  • 检查mysql驱动程序jar在构建/类路径中是否可用
  • 检查mysql是否已正确安装
  • 检查mysql用户名/密码
  • 检查mysql端口

  • 同样的问题,有两件事解决了我的问题:

    You must remember to put your JDBC connection code in an AsyncTask, other wise you will BURN BURN BURN!
    
    Do NOT mistake "INTERNET" permission for the "uses INTERNET" permission. You need the latter to perform JDBC.
    

    如果上述问题均未解决,请检查警告行中以“原因:”开头的logcat行。用谷歌搜索这一行可以让你接近找到解决方案。

    将e.printStackTrace()添加到你的catch块中。这将使调试问题变得更容易。在发布异常自身的消息堆栈跟踪之前,您永远不会发现。永远不要替换您自己的消息:始终打印或记录实际的异常类和消息,在严重情况下打印或记录堆栈跟踪。您可以发布堆栈跟踪吗?
    You must remember to put your JDBC connection code in an AsyncTask, other wise you will BURN BURN BURN!
    
    Do NOT mistake "INTERNET" permission for the "uses INTERNET" permission. You need the latter to perform JDBC.