我的JDBC代码根本没有做任何事情。它会打印出“连接到数据库”的声明,但就是这样。我引用了JDBC jar文件,所以我有点困惑,为什么我的代码不工作。我一直在努力工作的代码如下。JDBC不起作用
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是正确的端口? https://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html – maximilianus
您是否收到错误讯息?并且数据库端口地址是否正确?你确定它是'81'吗? –
嗨,我认为这是一个端口问题。请检查这个帖子,看看它是否能解决你的问题。 http://stackoverflow.com/a/26788332/4022947 谢谢 –