在线使用一个简单的例子,我正在运行一个Java程序来从表中返回用户。
数据库是MySQL。我已经下载了JDBC驱动程序,将其存储在我的JRE7 / lib文件夹中。
问题是程序从不连接到数据库,它跳过整个try块并在末尾打印出一个“test”字符串。我忽略了这方面的重要一步吗?这真是令人沮丧!!
编辑:最好描述我是如何尝试建立与数据库的连接。
mysql-connector-java-5.1.18-bin存储在jre7 / lib。
中我启动mysql workbench。连接名称是我创建的名称是com.fyp.db,主机地址是127.0.0.1:3306。
然后我运行我的代码,它试图查询示例表 - sakila - 由mySQL workbench提供并且没有!
安装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();
}
}
}
}
答案 0 :(得分:0)
我认为你需要这一行:
Class.forName("org.mysql.Driver");
在调用DriverManager.getConnection(...);
之前答案 1 :(得分:0)
您可能应该创建新的驱动程序实例。方法如下:
Class.forName("com.mysql.jdbc.Driver").newInstance();
答案 2 :(得分:0)
您需要确保已设置jdbc.drivers
属性。有多种方法可以做到这一点,
答案 3 :(得分:0)
这很简单..你需要.jar文件名为mysql-connector-java-5.1.16-bin.jar ,,,下载并将其添加到你的库...
祝你好运!!!