簡體   English   中英

使用mysql-connector-java-5.1.24將Java連接到MySQL

[英]Connecting Java to MySQL using mysql-connector-java-5.1.24

我正在閱讀JDBC API教程和參考3 / E(MAN,這真是太棒了),並且在使用Oracle提供的MySQL Connector將Java程序連接到MySQL數據庫時遇到了麻煩。

我把它放在我的文件夾里

C:\Windows\Sun\Java\mysql-connector-java-5.1.24

我已經將JGrasp中的Workspace CLASSPATH指向

C:\Windows\Sun\Java\mysql-connector-java-5.1.24\mysql-connector-java-5.1.24-bin.jar

我正在嘗試連接到名為“咖啡”的數據庫。 它肯定存在:

mysql> show databases;
+---------------------+
| Database            |
+---------------------+
| information_schema  |
| coffee              |
| mysql               |
| performance_schema  |
| phpmyadmin          |
+---------------------+
5 rows in set (0.03 sec)

這是我的Java代碼。 (如果您有這本書,我在第88頁。我的代碼和他們的代碼之間的唯一區別是一些注釋,而我將使用MySQL。)

//first, import sql package
import java.sql.*;

//name class CreateCoffees
public class CreateCoffees { 

    public static void main(String[] args){

        String url = "jdbc:mysql://127.0.0.1:coffee";

        //declare variables 
        Connection conn;

        String createString =   "create table COFFEES " +
                                        "(COF_NAME varchar(32), " +
                                        "SUP_ID int, " +
                                        "PRICE float, " +
                                        "SALES int, " +
                                        "TOTAL int)";

        Statement stmt;


        //instructions
        try{
            Class.forName("com.mysql.jdbc.Driver");
        }
        catch(java.lang.ClassNotFoundException cnfe){
            System.out.println("Class Not Found - " + cnfe.getMessage());
        }       

        try{
            conn = DriverManager.getConnection(url, "root", "");

            stmt = conn.createStatement();

            stmt.executeUpdate(createString);

            stmt.close();
            conn.close();
        }
        catch(SQLException sqle){
            System.out.println("SQL Exception: " + sqle.getMessage());
        }

    }

}

一切編譯都很好,但是當我運行它時,我拋出了以下SQLException:

SQL Exception: Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: For input string: "coffee"'.

我到底在做什么錯? 是否可以運行某些方法來測試Java與數據庫之間的連接? 我對這兩個都是新手。

另外,應該注意,這不是家庭作業。

編輯:似乎有害的代碼行是

 String url = "jdbc:mysql://127.0.0.1:coffee";

並應更改為

 String url = "jdbc:mysql://127.0.0.1/coffee";

因為coffee是數據庫而不是端口。

我想我需要更多。 感謝所有提供幫助的人。

您的連接URL使用coffee作為端口。 您應該使用類似:

jdbc:mysql://127.0.0.1:3306/coffee

為什么將“咖啡”作為您的端口號? 您應該在那里有您的mysql服務器端口號

jdbc:mysql://127.0.0.1:coffee

提示:默認端口號是3306。因此請嘗試

jdbc:mysql://127.0.0.1:3306/coffee

(假設您的數據庫名稱是coffee)

我認為解析器變得困惑,並認為coffee是端口號。

嘗試這個:

jdbc:mysql://127.0.0.1/coffee

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM