Рубрики
Без рубрики

Установка тайм-зоны MyS’L JDBC с использованием конфигурации весенней загрузки

Узнайте, как напрямую установить часовой пояс для соединения MYS’L JDBC через весеннюю загрузку.

Автор оригинала: baeldung.

1. Обзор

Иногда, когда мы храним даты в MyS’L, мы понимаем, что дата из базы данных отличается от нашей системы или СПМ.

В других случаях нам просто нужно запустить наше приложение с другим часовой поясом.

В этом учебнике мы увидим различные способы изменить тайм-пояс MyS’L с помощью конфигурации Spring Boot .

2. Часовой пояс как URL Парам

Одним из способов указать часовой пояс является строка URL-адреса соединения в качестве параметра.

По умолчанию MyS’L использует useLegacyDatetimeCode-true. Для того, чтобы выбрать наш тайм-зон, мы должны изменить это свойство на ложные . И, конечно, мы также добавляем серверTimezone указать тайм-пояс:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useLegacyDatetimeCode=false
    username: root
    password:

Кроме того, мы можем, конечно, настроить источник данных с конфигурацией Java вместо этого.

У нас есть больше информации об этом отеле и других в Официальная документация MyS’L .

3. Весенняя загрузка собственности

Или вместо того, чтобы указывать в timezone через серверTimezone Параметр URL, мы можем указать time_zone свойство в нашей конфигурации Spring Boot:

spring.jpa.properties.hibernate.jdbc.time_zone=UTC

Или с YAML:

spring:
  jpa:
    properties:
      hibernate:
        jdbc:
          time_zone: UTC

Но, это все еще необходимо добавить useLegacyDatetimeCode-ложный в URL- как мы видели раньше.

4. Часовой пояс по умолчанию JVM

И, конечно, мы можем обновить часовой пояс по умолчанию, что Java имеет.

Опять же, мы добавляем useLegacyDatetimeCode-ложный в URL- по-прежнему. И тогда нам просто нужно добавить простой метод:

@PostConstruct
void started() {
  TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
}

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

5. Заключение

В этом учебнике мы увидели несколько различных способов настройки часового пояса MyS’L JDBC весной. Мы сделали это с URL-парамом, с свойством, и путем изменения часового пояса JVM по умолчанию.

Как всегда, полный набор примеров более на GitHub .