Java 中的 MySQL 连接错误 - com.mysql.jdbc.Driver
Posted
技术标签:
【中文标题】Java 中的 MySQL 连接错误 - com.mysql.jdbc.Driver【英文标题】:MySQL Connection Error in Java - com.mysql.jdbc.Driver 【发布时间】:2014-03-25 17:01:41 【问题描述】:我一直在尝试将我的 java 应用程序连接到 mysql 数据库并使用了以下代码行:
import java.sql.*;
public class AcceptValues extends HttpServlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
String url = "jdbc:mysql://localhost:3306/db_name";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "";
try
Class.forName(driver);
Connection conn = DriverManager.getConnection(url,userName,password);
out.print("Connection estd");
Statement st = conn.createStatement();
st.executeQuery("insert into table_name values(2, 'testing');");
conn.close();
catch (Exception e)
out.print("Error : " +e.getMessage());
我还将类名设置为我从 mysql 网站下载的 mysql-connector-java-5.1.29-bin.jar。但是我仍然无法使用上面的代码行连接到数据库,并且将 exeption com.mysql.jdbc.Driver 作为错误抛出。
我是 Java 开发的新手,任何帮助都将不胜感激。谢谢。
【问题讨论】:
仅使用 e 打印堆栈跟踪,将 e.getMessage() 更改为 e 使用 e.printStackTrace(),并发布错误堆栈跟踪。并解释“我还将类名设置为 mysql-connector-java-5.1.29-bin.jar”是什么意思。这个 jar 在你的 WEB-INF/lib 文件夹中,对吧? 我没有在 WEB-INF/lib 文件夹中包含 mysql-connector 文件。现在我做到了,一切正常。感谢 JB Nizet 发现错误! WEB-INF/lib 中的 jars 是你的 webapp 的类路径。如果你的 webapp 需要一个库,这个库必须在那里。 【参考方案1】:在WEB-INF/lib
文件夹中添加mysql-connector-java-5.1.29-bin.jar。
仅在构建路径中添加 jar 是不够的。
甚至我一开始也有同样的问题。
【讨论】:
或者,更好的是,学习如何使用 maven、gradle 或其他构建管理工具,它们将为您完成所有这些工作。【参考方案2】:这是你的答案,
右键单击项目属性 --> Java Build Path --> 库 --> 将 Jar 添加到您的项目(您已经下载)
不要对你在servlet文件中的连接信息创建单独的连接文件
在需要时调用类
import java.sql.*;
public class DBConn
private String url = "jdbc:mysql://localhost:3306/test";
private String driver = "com.mysql.jdbc.Driver";
private String userName = "root";
private String password = "root";
private Connection con = null;
private void getConnection()
try
Class.forName(driver);
if(con == null)
con = DriverManager.getConnection(url,userName,password);
System.out.print("Connection estd");
catch (Exception e)
System.out.print("Error : " +e.getMessage());
/**for desktop application */
public static void main(String[] arg)
DBConn con = new DBConn();
con.getConnection();
您也可以使用以下代码在您的 sevelet 中获取连接
import java.sql.*;
public class AcceptValues extends HttpServlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
DBConn con = new DBConn();
con.getConnection();
此示例代码,但您可以使其更高效,这只是示例,
请提供完整的错误/异常信息
【讨论】:
【参考方案3】:com.mysql.jdbc.Driver 作为错误。
我遇到了这个问题,在大多数情况下,这个问题背后有两个原因。一是缺少mysql的jar文件,二是没有启动mysql服务。
【讨论】:
以上是关于Java 中的 MySQL 连接错误 - com.mysql.jdbc.Driver的主要内容,如果未能解决你的问题,请参考以下文章
IntelliJ IDEA 上的web项目进行数据库连接时出现java.lang.ClassNotFoundException: com.mysql.jdbc.Driver错误解决办法
jsp项目中连接数据库解决java.lang.ClassNotFoundException: com.mysql.jdbc.Driver的问题