JDBC未连接到数据库

时间:2019-04-07 13:37:10

标签: java mysql jdbc

以下代码与YouTube视频中的代码完全相同,但不适用于我。预期的输出是将输出“连接”到系统,这意味着JDBC已成功连接到数据库。但是我得到这个错误:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败

成功发送到服务器的最后一个数据包是0毫秒前。驱动程序尚未收到来自服务器的任何数据包。

这是我的代码:

\documentclass[preprint,pre,floats,aps,amsmath,amssymb]{revtex4}

\usepackage{graphicx}
\usepackage{bm}

\begin{document}

\title{A Blockchain-Based Approach to Identity Management for the Aviation Industry}
\author{BlaBla}
\affiliation{Chair of Quantitative Business Administration}


\begin{abstract}
Some texts 
\end{abstract}

{
\let\clearpage\relax
\maketitle
}

\section{Introduction}
\label{sec:intro}

some text

\end{document}  

我已经成功地将JDBC添加为库,就像显示的视频一样,但是它不起作用。我在Stack Overflow上看到了类似的问题,但没有一个解决了我的问题。任何帮助将不胜感激,谢谢!

JDBC版本:mysql-connector-java-5.1.47-bin.jar

The database table

1 个答案:

答案 0 :(得分:1)

  

链接失败表示无法访问数据库,请确认您的数据库主机,   端口,用户名和密码。如果一切正确,请确认   数据库服务器正在运行,尚未达到最大连接限制。

,并且您正在使用JDBC jar文件,该文件可能已损坏。所以检查一下,我建议您使用Maven

导入JDBC。

,并且您没有注册JDBC驱动程序。首先,注册它

使用Class.forName("com.mysql.jdbc.Driver");

这里有一个example为您提供帮助,

// JDBC driver name and database URL
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://localhost/EMP";

   //  Database credentials
   static final String USER = "username";
   static final String PASS = "password";

   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, first, last, age FROM Employees";
      ResultSet rs = stmt.executeQuery(sql);

      //STEP 5: Extract data from result set
      while(rs.next()){
         //Retrieve by column name
         int id  = rs.getInt("id");
         int age = rs.getInt("age");
         String first = rs.getString("first");
         String last = rs.getString("last");

         //Display values
         System.out.print("ID: " + id);
         System.out.print(", Age: " + age);
         System.out.print(", First: " + first);
         System.out.println(", Last: " + last);
      }

我假设您在Maven文件中放入了适当的JDBC dependency 并将com.mysql.cj.jdbc.Driver用作MySQL-connector的较新版本的类

  

在MySQL中实现java.sql.Driver的类的名称   连接器/ J已从com.mysql.jdbc.Driver更改为   com.mysql.cj.jdbc.Driver。旧类名称已被弃用。