[英]Compiling a Java project on Unix using external library mysql-connector-java-5.1.24-bin.jar
[英]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.