我想了解JDBC API,爲了做到這一點,我只寫了一些代碼來建立到數據庫的連接。看來我不能... 我試圖手動加載驅動程序的MySQL數據庫,但即使我包括連接器.jar在類路徑編譯器抱怨,它找不到包com.mysql 。無法加載JDBC驅動程序
另一方面,如果我省略了Class.forName()方法,代碼將編譯,但在運行時會得到數百個Exception行。
我編譯(並運行),包括在命令行的jar:
javac -cp [path to jar] DBTest.java
這裏是我的代碼:
import java.sql.*;
class DBTest {
**strong text**
static final String ADDRESS="jdbc:mysql://127.0.0.1:8888/customer";
static final String USER="myuser";
static final String PASSWORD="luca";
public static void main(String[] args) {
Connection conn=null;
Statement stat=null;
Class.forName("com.mysql.jdbc.Driver");
try {
conn=DriverManager.getConnection(ADDRESS,USER,PASSWORD);
stat=conn.createStatement();
String query="SELECT * FROM person";
ResultSet result=stat.executeQuery(query);
while (result.next()) {
String name=result.getString("name");
String surname=result.getString("surname");
int id=result.getInt("id");
String telephone=result.getString("telephone");
System.out.println(id+": first name: "+name+" second name: "+surname+" tel: "+telephone);
}
}
catch (SQLException e) {
e.printStackTrace();
}
finally {
try {
conn.close();
stat.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
編輯:
用雙引號它現在編譯好,但在運行時它說類似:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
有你,如果你的MySQL是在端口8888上運行檢查?你可以使用mysql命令行工具連接或將HeidiSQL稱爲該數據庫? –