Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add the JDBC mysql driver to an Eclipse project? [duplicate]

  1. I have downloaded the mysql-connector-java-5.1.24-bin.jar
  2. I have created a lib folder in my project and put the jar in there.
  3. properties of project->build path->add JAR and selected the JAR above.
  4. I still get java.sql.SQLException: No suitable driver found for jdbc:mysql//localhost:3306/mysql

I am using mysql 5.5 The code:

package DBTest;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
import java.util.*;

/**
 * Servlet implementation class TenUsers
 */
@WebServlet("/TenUsers")
public class TenUsers extends HttpServlet {
    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        PrintWriter out = response.getWriter();
        String mySqlUrl = "jdbc:mysql://localhost:3306/mysql";

        Properties userInfo = new Properties();
        userInfo.put("user", "root");
        userInfo.put("password", "SabababArba");
        try{
            Connection connection = DriverManager.getConnection(mySqlUrl, userInfo);
        }catch(Exception e) {
            out.println(e);
        }      
    }
}

If I add Class.forName("com.mysql.jdbc.Driver"); before Connection connection = DriverManager.getConnection(mySqlUrl, userInfo); I get java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

like image 850
Itay Moav -Malimovka Avatar asked Apr 01 '13 18:04

Itay Moav -Malimovka


2 Answers

1: I have downloaded the mysql-connector-java-5.1.24-bin.jar

Okay.


2: I have created a lib folder in my project and put the jar in there.

Wrong. You need to drop JAR in /WEB-INF/lib folder. You don't need to create any additional folders.


3: properties of project->build path->add JAR and selected the JAR above.

Unnecessary. Undo it all to avoid possible conflicts.


4: I still get java.sql.SQLException: No suitable driver found for jdbc:mysql//localhost:3306/mysql

This exception can have 2 causes:

  1. JDBC driver is not in runtime classpath. This is to be solved by doing 2) the right way.
  2. JDBC URL is not recognized by any of the loaded JDBC drivers. Indeed, the JDBC URL is wrong, there should as per the MySQL JDBC driver documentation be another colon between the scheme and the host.

    jdbc:mysql://localhost:3306/mysql
    
like image 69
BalusC Avatar answered Oct 06 '22 16:10

BalusC


Try to insert this:

DriverManager.registerDriver(new com.mysql.jdbc.Driver());

before getting the JDBC Connection.

like image 23
niculare Avatar answered Oct 06 '22 14:10

niculare