2017-04-25 71 views
0

我的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(); 
     } 
      } 
    } 
+0

你确定端口81是正确的端口? https://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html – maximilianus

+0

您是否收到错误讯息?并且数据库端口地址是否正确?你确定它是'81'吗? –

+0

嗨,我认为这是一个端口问题。请检查这个帖子,看看它是否能解决你的问题。 http://stackoverflow.com/a/26788332/4022947 谢谢 –

回答

0

数据库服务器的Port Address不是网络服务器的端口。因此,要解决这个问题,您应该将连接URL更改为jdbc:mysql://localhost:3306/companylist,因为3306是MySQL数据库服务器的默认端口地址。

-1

jdbc:mysql://localhost:81/companylist无效。

由于您使用的是mysql database,因此默认的port服务器数量为3306

那么试试这个,jdbc:mysql://localhost:3306/companylist

它将运行....