Ответ 1
Попробуйте вставить это:
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
до получения соединения JDBC.
lib
в моем проекте и разместил там банку.java.sql.SQLException: No suitable driver found for jdbc:mysql//localhost:3306/mysql
Я использую mysql 5.5 Код:
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);
}
}
}
Если я добавлю Class.forName("com.mysql.jdbc.Driver");
до Connection connection = DriverManager.getConnection(mySqlUrl, userInfo);
, я получаю java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Попробуйте вставить это:
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
до получения соединения JDBC.
1: я загрузил mysql-connector-java-5.1.24-bin.jar
Хорошо.
2: Я создал папку lib в моем проекте и помещал там банку.
Неправильно. Вам нужно отбросить JAR в папке /WEB-INF/lib
. Вам не нужно создавать дополнительные папки.
3: свойства project- > build path- > добавить JAR и выбрали JAR выше.
Ненужные. Отмените все, чтобы избежать возможных конфликтов.
4: Я все еще получаю java.sql.SQLException: подходящего драйвера для jdbc: mysql//localhost: 3306/mysql
Это исключение может иметь 2 причины:
URL JDBC не распознается ни одним из загруженных драйверов JDBC. Действительно, URL-адрес JDBC неверен, в соответствии с Документация драйвера JDBC MySQL будет другим двоеточием между схемой и хостом.
jdbc:mysql://localhost:3306/mysql
Вы можете вставить файл .jar драйвера в настройке Java вместо добавления его в каждый создаваемый проект. Вставьте его в папку C:\Program Files\Java\jre7\lib\ext или где бы вы ни установили java.
После этого вы обнаружите, что драйвер .jar зачислен в библиотечную папку созданного проекта (системную библиотеку JRE) в среде IDE. Не нужно добавлять его повторно.
copy mysql-connector-java-5.1.24-bin.jar
Вставьте его в \Apache Software Foundation\Tomcat 6.0\lib\< - here →
Перезагрузите сервер из затмений.
Готово
если вы снова и снова получаете это исключение, загрузите соединитель my-sql и вставьте в папку tomcat/WEB-INF/lib... обратите внимание, что несколько раз папка WEB-INF не содержит папку lib, в то время вручную создайте папку lib и вставьте соединитель mysql в эту папку. Конечно, это будет работать. Если у вас возникли проблемы, проверьте, что ваш jdk должен соответствовать вашей системе. Если ваша система 64-битная, то jdk должен быть 64 бит
Попробуйте этот учебник, у него есть объяснение, и это будет полезно http://www.ccs.neu.edu/home/kathleen/classes/cs3200/JDBCtutorial.pdf
вы не загрузили драйвер в память.
используйте это в init()
Class.forName("com.mysql.jdbc.Driver");
Кроме того, вы пропустили двоеточие (:) в url, используйте этот
String mySqlUrl = "jdbc:mysql://localhost:3306/mysql";