Ошибка при использовании соединения JDBC к MySQL |Исключение именования - PullRequest
1 голос
/ 22 сентября 2019

Я абсолютный новичок и делаю простой проект с использованием jee, используя Tomcat 9.0, MySQL и jdbc.При попытке подключиться к БД я получаю: javax.naming.NameNotFoundException: Name [jdbc/city2] is not bound in this Context. Unable to find [jdbc].

Я уже пытался добавить файл конфигурации в папку Tomcat apache-tomcat-9.0.24 \ conf \ Catalina \ localhost , но это ничего не сделало.Вот так выглядит мой класс ConnectionProvider:;

    private static DataSource dataSource;

    public static Connection getConnection() throws SQLException {
        return getDSInstance().getConnection();
    }

    private static DataSource getDSInstance() {
        if (dataSource == null) {
            try {
                Context initContext = new InitialContext();
                dataSource = (DataSource) initContext.lookup("java:comp/env/jdbc/city2");
            } catch (NamingException e) {
                e.printStackTrace();
            }
        }
        return dataSource;
    }

А мой context.xml файл выглядит так:

<Context>
    <Resource name="jdbc/city2"
              auth="Container"
              type="javax.sql.DataSource"
              initialSize="10"
              maxTotal="100"
              maxIdle="30"
              maxWaitMillis="10000"
              username="root"
              password="admin"
              driverClassName="com.mysql.cj.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/city2?useSSL=false&amp;serverTimezone=UTC"  />
</Context>

The intelliJ project structure

The db setup

1 Ответ

1 голос
/ 22 сентября 2019

Объявление источника данных в web.xml:

<resource-ref>
    <description>DB Connection</description>
    <res-ref-name>jdbc/city2</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

Подробнее здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...