我的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();
}
}
}发布于 2017-04-25 10:10:43
数据库服务器的Port Address不是web服务器的端口。因此,要解决这个问题,您应该将连接URL更改为jdbc:mysql://localhost:3306/companylist,因为3306是MySQL数据库服务器的默认端口地址。
发布于 2017-12-29 18:07:18
jdbc:mysql://localhost:81/companylist无效。
由于您使用的是mysql database,因此服务器的默认port编号为3306。
所以试试这个,jdbc:mysql://localhost:3306/companylist
它将运行..。
https://stackoverflow.com/questions/43600358
复制相似问题