我正在阅读JDBC API教程和参考3 / E(MAN,这是一本干燥的书),而我使用Oracle提供的MySQL Connector将我的Java程序连接到我的MySQL数据库时遇到了麻烦。 p>
我把它放在我的文件夹
中C:\Windows\Sun\Java\mysql-connector-java-5.1.24
我已将我的Workspace CLASSPATH指向JGrasp
C:\Windows\Sun\Java\mysql-connector-java-5.1.24\mysql-connector-java-5.1.24-bin.jar
我正在尝试连接到名为“Coffee”的数据库。它确实存在:
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());
}
}
}
Everything编译得很好,但是当我运行它时,我抛出以下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";
因为咖啡是数据库而不是端口。
我想我需要更多。感谢所有帮助过的人。
答案 0 :(得分:2)
您的连接网址使用coffee
作为端口。你应该使用类似的东西:
jdbc:mysql://127.0.0.1:3306/coffee
答案 1 :(得分:1)
为什么你的“端口号”是“咖啡”?你应该有你的mysql服务器端口号
jdbc:mysql://127.0.0.1:coffee
提示:默认端口号为3306.请尝试
jdbc:mysql://127.0.0.1:3306/coffee
(假设您的数据库名称是咖啡)
答案 2 :(得分:1)
我认为解析器感到困惑,并认为coffee
是一个端口号。
试试这个:
jdbc:mysql://127.0.0.1/coffee