【发布时间】:2017-04-25 01:58:15
【问题描述】:
我的 JDBC 代码根本没有做任何事情。它会打印出“连接到数据库”语句,仅此而已。我已经引用了 JDBC jar 文件,所以我有点困惑为什么我的代码不起作用。我一直在尝试工作的代码如下。
package exampleDatabase;
import java.sql.*;
public class Main {
// TODO Auto-generated method stub
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:81/companylist";
// Database credentials
static final String USER = "root";
static final String PASS = "";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
//STEP 2: Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
//STEP 3: Open a connection
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
//STEP 4: Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql;
sql = "SELECT ID, firstName, lastName,Email FROM Staff";
ResultSet rs = stmt.executeQuery(sql);
//STEP 5: Extract data from result set
while(rs.next()){
//Retrieve by column name
int ID = rs.getInt("ID");
String firstName = rs.getString("firstName");
String lastName = rs.getString("lastName");
String Email = rs.getString("Email");
//Display values
System.out.print("ID: " + ID);
System.out.print(", First: " + firstName);
System.out.println(", Last: " + lastName);
System.out.println(", Last: " + Email);
}
//STEP 6: Clean-up environment
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
//Handle errors for JDBC
se.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
【问题讨论】:
-
您确定端口 81 是正确的端口吗? dev.mysql.com/doc/connector-j/en/…
-
您收到错误消息了吗?数据库端口地址是否正确?你确定是
81? -
您好,我认为这是一个端口问题。请检查此帖子,看看它是否解决了您的问题。 stackoverflow.com/a/26788332/4022947谢谢
-
我是个十足的白痴。非常感谢您已修复它。
-
数据库端口地址不是web服务器地址;所以和WAMP无关..改成
3306,这是MySQL默认的pot地址。