我想了解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称为该数据库? –