使用一个简单的在线示例,我正在运行一个Java程序来从一个表中返回用户。
数据库为MySQL。我已经下载了JDBC驱动程序,并将其存储在我的JRE7 /lib文件夹中。
问题是程序从来没有连接到数据库,它跳过了整个try块,并在最后打印出一个"test“字符串。我是不是忽略了其中的一个重要步骤?这真的很令人沮丧!
编辑:最好描述我是如何尝试建立到数据库的连接的。
mysql-connector-java-5.1.18-bin存储在jre7/lib中。
我启动了mysql工作台。创建的连接名为ive is com.fyp.db,主机地址为127.0.0.1:3306。
然后,我运行我的代码,它试图查询由mySQL工作台and..nothing提供的样例表-- sakila!
已安装MySQL工作台。已安装JDBC驱动程序。
public class Version {
public static void main(String[] args) {
Connection con = null;
Statement st = null;
ResultSet rs = null;
//String url = "jdbc:mysql://127.0.0.1/sakila";
String url = "jdbc:mysql://localhost:3306/sakila";
String user = "root";
String password = "root";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection(url, user, password);
st = con.createStatement();
rs = st.executeQuery("select * from ACTOR;");
System.out.println("test");
if (rs.next()) {
System.out.println(rs.getString(1));
}
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
if (st != null) {
st.close();
}
if (con != null) {
con.close();
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}}
发布于 2012-03-13 22:14:21
我认为你需要这句话:
Class.forName("org.mysql.Driver");在调用DriverManager.getConnection(...)之前;
发布于 2012-03-13 22:15:33
您可能应该创建新的驱动程序实例。下面是操作步骤:
Class.forName("com.mysql.jdbc.Driver").newInstance();发布于 2012-03-13 22:25:26
您需要确保设置了jdbc.drivers属性。有多种方法可以做到这一点,
https://stackoverflow.com/questions/9685668
复制相似问题