DriverManager не может быть найден, подчеркивает красный и предлагает мне создать класс DriverManager - PullRequest
0 голосов
/ 15 февраля 2020
protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
{
    //define the fields
    String username = "root";
    String password = "Otiwah0771";
    String jdbcURL = "jdbc:mysql://localhost:3306/employeedirectory";
    String driver = "com.mysql.jdbc.Driver";

    try
    {

    //Get the Print Writer object
    PrintWriter out = response.getWriter();
    out.println("Connecting to databace"+jdbcURL);

    //load the Driver 
    Class.forName(driver);

    //Get the connection
    Connection connection = DriverManager.getConnection(jdbcURL,username,password);

    //Close the connection
    connection.close();
    }catch(Exception e)
    {
        e.printStackTrace();
    }
}

** Использование NetBeans 11,2 **

Я добавил mysql банку с соединителем, но проблема не устранена (символ DriverManager не найден)

Ответы [ 3 ]

0 голосов
/ 16 февраля 2020

Ваша проблема с невозможностью импортировать DriverManager может быть объяснена, если вы создали модульный проект и явно не требовали модуль java.sql. Если вам явно не требуется java.sql, вы не получите доступ к JDB C API, даже если он включен в Java.

Чтобы исправить это, отредактируйте module-info.java в пакет по умолчанию (или: root ваших исходных пакетов) и добавьте следующую строку в тело модуля:

requires java.sql;

Например

module examplemodule {
    requires java.sql;
}

Теперь вы должны быть в состоянии импортировать java.sql.DriverManager.

В качестве альтернативы, не используйте модульный проект (ie используйте проект без module-info.java).

Кстати, ваш код кажется будь сервлетом, обычно плохая практика - использовать DriverManager непосредственно в веб-приложении. Вместо этого используйте javax.sql.DataSource при поддержке пула соединений для создания и повторного использования соединений.

0 голосов
/ 19 марта 2020

Более новые драйверы MySQL используют класс com.cj. mysql .jdb c .Driver. Class.forname () больше не требуется в этих новых версиях, так как объект подключения найдет его сам, но посмотрим, что работает для вас

0 голосов
/ 15 февраля 2020

Проблема в том, что jdb c -api-1.4.jar не является частью библиотек и поэтому не может импортировать java. sql .Driver.class. скачайте jdb c -api-1.4.jar из jdb c api - добавьте его в библиотеки, и он будет работать

...