Java JDBC MySQL запрос сбой - PullRequest
0 голосов
/ 09 мая 2019

Я работаю над запросом локальной базы данных MySQL, используя приложение Java Spring с JDBC.Мое приложение настраивает объект DataSource, используя конструктор SimpleDriverDataSource().Затем он создает объект JDBCTemplate из этого DataSource.

Предполагается, что он выполняет запросы к базе данных MySQL через этот объект шаблона, но запросы по какой-то неизвестной причине не выполняются!Я думаю, что это может иметь какое-то отношение к моему DataSource.

Вот соответствующие биты кода.Во-первых, я настраиваю объект Data Source следующим образом:

public DataSource getDataSource() {
      DataSource dbsrc = null;
      try {
          dbsrc = new SimpleDriverDataSource(new com.mysql.jdbc.Driver(), "jdbc:mysql://localhost/test?useSSL=false", "root", "");
      } catch (SQLException e) {
          e.printStackTrace();
      }
      return dbsrc;
    }

При отладке, dbsrc кажется определенным.Правильно ли это определено - это другая история.Вот фрагмент того, что Eclipse говорит после определения: определение dbsrc

Я думаю, что что-то не так в том, что connectionProperties является null.

Вот пример запроса, который не выполняется:

final List<String> methods = jdbcTemplate.query(methodsQuery, new RowMapper<String>() {
          @Override
          public String mapRow(ResultSet rs, int rowNum) throws SQLException {
            return rs.getString("PLANETDISCMETH");
          }
        });

Когда я выполняю этот оператор, он входит в метод jdbcTemplate.query() и, по-видимому, выдает исключение на каком-то шаге, который я не вижу (Eclipseговорит, что исходный файл не может быть найден в проекте).

Любая помощь будет принята с благодарностью, и я рад предоставить любую другую необходимую информацию.Спасибо!

1 Ответ

0 голосов
/ 13 мая 2019

Спасибо всем за помощь!Как оказалось, проблема не была связана с объектами DataSource или JDBCTemplate.

Для проекта, над которым я работал, мне был предоставлен предварительно созданный файл конфигурации pom.xml.Этот файл содержал тег свойства версии MySQL:

<properties>
    <mysql.version>5.0.13</mysql.version>
</properties>

Чтобы заставить объект JDBCTemplate правильно выполнять запросы, все, что мне нужно было сделать, это изменить номер этой версии на версию MySQL, которую я использовал:

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