рдХрд╛рд▓рд╛рдВрддрд░рд╛рдиреЗ рд╕рджреНрдпрд╕реНрдерд┐рддреА

рдЬреЗрдбреАрдмреАрд╕реАрдЪрд╛ рд╢реЛрдз рд▓рд╛рдЧрд▓рд╛ рдЖрдгрд┐ рддреНрдпрд╛рдЪреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рдорд╛рдгрд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рддреЗрд╡реНрд╣рд╛рдкрд╛рд╕реВрди 20 рд╡рд░реНрд╖реЗ рдЙрд▓рдЯреВрди рдЧреЗрд▓реА рдЖрд╣реЗрдд рдЖрдгрд┐ рдпрд╛ рдХрд╛рд│рд╛рдд рдмрд░реНтАНрдпрд╛рдЪ рдЧреЛрд╖реНрдЯреА рдмрджрд▓рд▓реНрдпрд╛ рдЖрд╣реЗрдд.

рдкреНрд░рдердо, рдЬрдЧ рдЬрд╛рдЧрддрд┐рдХ рдЭрд╛рд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдЖрддрд╛ рдПрдХ рд╕рд░реНрд╡реНрд╣рд░ рдЬрдЧрднрд░рд╛рддреАрд▓ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рд╕реЗрд╡рд╛ рджреЗрдК рд╢рдХрддреЛ. рдЗрдВрдЯрд░рдиреЗрдЯрдЪрд╛ рд╡реЗрдЧ рд╡рд╛рдврд▓рд╛ рдЖрд╣реЗ. рдореНрд╣рдгреВрди, рд╡реЗрд│реЗрдиреБрд╕рд╛рд░ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА SQL рдордзреНрдпреЗ рджреБрд╕рд░рд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд▓рд╛ рдЧреЗрд▓рд╛ . рдЖрддрд╛ рдкреНрд░рдХрд╛рд░ рдпрд╛рд╕рд╛рд░рдЦреЗ рджрд┐рд╕рддрд╛рдд:

  • DATE - рддрд╛рд░реАрдЦ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ: рд╡рд░реНрд╖, рдорд╣рд┐рдирд╛, рджрд┐рд╡рд╕.
  • TIME - рд╡реЗрд│ рд╕рд╛рдард╡рддреЛ: рддрд╛рд╕, рдорд┐рдирд┐рдЯреЗ, рд╕реЗрдХрдВрдж.
  • TIMESTAMP - рд╡реЗрд│реЗрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд┐рдВрджреВ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЛ: рддрд╛рд░реАрдЦ, рд╡реЗрд│ рдЖрдгрд┐ рдорд┐рд▓рд┐рд╕реЗрдХрдВрдж.
  • рдЯрд╛рдЗрдо рдЭреЛрди рд╕рд╣ рдЯрд╛рдЗрдорд╕реНрдЯреЕрдореНрдк - рдЯрд╛рдЗрдорд╕реНрдЯрдБрдк рдЖрдгрд┐ рдЯрд╛рдЗрдо рдЭреЛрди (рдЭреЛрдирдЪреЗ рдирд╛рд╡ рдХрд┐рдВрд╡рд╛ рдСрдлрд╕реЗрдЯ).

рджреБрд╕рд░реЗ рдореНрд╣рдгрдЬреЗ, рдЬрд╛рд╡рд╛рдиреЗ рдЬрд╛рдЧрддрд┐рдХ рд╡реЗрд│ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирд╛рд╕рд╛рдареА рдбреЗрдЯрдЯрд╛рдЗрдо API рд╕рд╛рджрд░ рдХреЗрд▓реЗ. рддреНрдпрд╛рдЪреЗ рдЦрд╛рд▓реАрд▓ рд╡рд░реНрдЧ рдЖрд╣реЗрдд:

  • рддрд╛рд░реАрдЦ рдЖрдгрд┐ рд╡реЗрд│ :
    • LocalDate
    • рд╕реНрдерд╛рдирд┐рдХ рд╡реЗрд│
  • рдЕрдЪреВрдХ рдХреНрд╖рдг :
    • java.time.рддреНрд╡рд░рд┐рдд
    • java.time.LocalDateTime
    • java.time.OffsetDateTime
    • java.time.ZonedDateTime
  • рдЯрд╛рдЗрдо рдЭреЛрди рд╕рд╣ рд╡реЗрд│ :
    • java.time.OffsetDateTime
    • java.time.ZonedDateTime

рддрд┐рд╕рд░рд╛ рдордиреЛрд░рдВрдЬрдХ рдореБрджреНрджрд╛ рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА рдЕрдиреЗрдХ SQL рдХреНрд▓рд╛рдпрдВрдЯ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реНрдерд╛рдирд┐рдХ рдЭреЛрдирдордзреНрдпреЗ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рд╕рд░реНрд╡реНрд╣рд░рдХрдбреВрди рд╡реЗрд│ рдкреНрд░рд╛рдкреНрдд рдХрд░реВ рдЗрдЪреНрдЫрд┐рддрд╛рдд . рдЕрд░реНрдерд╛рдд, рдЖрдкрдг рдлреНрд▓рд╛рдпрд╡рд░ рд╡реЗрд│ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░реВ рд╢рдХрддрд╛, рдкрд░рдВрддреБ рддреЗ рд╕реЛрдпреАрдЪреЗ рдирд╛рд╣реА рдЖрдгрд┐ рддреНрдпрд╛рдд рдЪреБрдХрд╛ рдЖрд╣реЗрдд.

рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдорд▓рд╛ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреВрди рдЖрдЬрдЪреА рд╕рд░реНрд╡ рдХрд╛рд░реНрдпреЗ рдорд┐рд│рд╡рд╛рдпрдЪреА рдЖрд╣реЗрдд. SQL рд╕рд░реНрд╡реНрд╣рд░рдордзреНрдпреЗ рдпрд╛рд╕рд╛рдареА CURDATE() рдлрдВрдХреНрд╢рди рдЖрд╣реЗ. рдлрдХреНрдд рдпреЗрдереЗ рд╕рд░реНрд╡реНрд╣рд░ рдпреВрдПрд╕рдП рдордзреНрдпреЗ рдЖрд╣реЗ рдЖрдгрд┐ рдореА рдЬрдкрд╛рдирдордзреНрдпреЗ рдЖрд╣реЗ. рдЖрдгрд┐ рдорд╛рдЭреА рдЗрдЪреНрдЫрд╛ рдЖрд╣реЗ рдХреА рддреНрдпрд╛рдиреЗ тАЬрдорд╛рдЭрд╛ рдЖрдЬрдЪрд╛тАЭ рд╕рд░реНрд╡ рд░реЗрдХреЙрд░реНрдб рдкрд░рдд рдХрд░рд╛рд╡рд╛, тАЬрддреНрдпрд╛рдЪрд╛ рдЖрдЬрдЪрд╛тАЭ рдирд╛рд╣реА.

рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, SQL рд╕рд░реНрд╡реНрд╣рд░ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдЯрд╛рдЗрдо рдЭреЛрдирдордзреАрд▓ рдХреНрд▓рд╛рдпрдВрдЯрд╕рд╣ рд╕реНрдорд╛рд░реНрдЯрдкрдгреЗ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдЖрдзреБрдирд┐рдХ рд╕рдорд╕реНрдпрд╛рдВрдирд╛ рдЖрдзреБрдирд┐рдХ рдЙрдкрд╛рдпрд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рддреЗ

рддрддреНрд╡рддрдГ, Java DateTime API рдордзреАрд▓ рдирд╡реАрди рдкреНрд░рдХрд╛рд░ рдЖрдгрд┐ SQL рдордзреАрд▓ рдкреНрд░рдХрд╛рд░ рд╕реЛрдпреАрд╕реНрдХрд░рдкрдгреЗ рдореЕрдк рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд. Java рдордзреНрдпреЗ DATE рдкреНрд░рдХрд╛рд░ рджрд░реНрд╢рд╡рдгреНрдпрд╛рд╕рд╛рдареА , рддреБрдореНрд╣рд╛рд▓рд╛ JDK 8 DateTime API рдордзреАрд▓ java.time.LocalDate рд╡рд░реНрдЧ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ .

рдбреЗрдЯрд╛рдмреЗрд╕рдордзреАрд▓ TIME рдкреНрд░рдХрд╛рд░ Java рдордзреАрд▓ рджреЛрди рдкреНрд░рдХрд╛рд░рд╛рдВрджреНрд╡рд╛рд░реЗ рджрд░реНрд╢рд╡рд┐рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ: java.time.LocalTime рдЖрдгрд┐ java.time.OffsetTime . рдПрдХрддрд░ рдХрд╛рд╣реАрд╣реА рдХреНрд▓рд┐рд╖реНрдЯ рдирд╛рд╣реА.

рдбреЗрдЯрд╛рдмреЗрд╕рдордзреАрд▓ TIMESTAMP рдкреНрд░рдХрд╛рд░рд╛рджреНрд╡рд╛рд░реЗ рджрд░реНрд╢рд╡рд┐рд▓реЗрд▓реНрдпрд╛ рд╡реЗрд│реЗрддреАрд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд┐рдВрджреВ , рдЬрд╛рд╡рд╛рдордзреНрдпреЗ 4 рдкреНрд░рдХрд╛рд░рд╛рдВрджреНрд╡рд╛рд░реЗ рджрд░реНрд╢рд╡рд┐рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ:

  • java.time.рддреНрд╡рд░рд┐рдд
  • java.time.LocalDateTime
  • java.time.OffsetDateTime
  • java.time.ZonedDateTime

рдЖрдгрд┐ рд╢реЗрд╡рдЯреА, рдЯрд╛рдЗрдо рдЭреЛрди рд╕рд╣ рдЯрд╛рдЗрдорд╕реНрдЯреЕрдореНрдк рджреЛрди рдкреНрд░рдХрд╛рд░рд╛рдВрджреНрд╡рд╛рд░реЗ рджрд░реНрд╢рд╡рд┐рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ:

  • java.time.OffsetDateTime
  • java.time.ZonedDateTime

рддреБрдореНрд╣реА DateTime API рд╢реА рдЖрдзреАрдЪ рдкрд░рд┐рдЪрд┐рдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рд╣реА рдмрд╛рдм рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рдгреЗ рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рдХрдареАрдг рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА :)

рдореА рддреЗ рдЯреЗрдмрд▓рдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рд▓рд┐рд╣реАрди, рдЬреЗрдгреЗрдХрд░реВрди рддреЗ рд╕реЛрдкреЗ рд╣реЛрдИрд▓:

SQL рдкреНрд░рдХрд╛рд░ рдЬрд╛рд╡рд╛ рдкреНрд░рдХрд╛рд░
DATE java.time.LocalDate
TIME java.time.LocalTime
java.time.OffsetTime
рдЯрд╛рдЗрдорд╕реНрдЯреЕрдореНрдк java.time.Instant
java.time.LocalDateTime
java.time.OffsetDateTime
java.time.ZonedDateTime
рдЯрд╛рдЗрдо рдЭреЛрди рд╕рд╣ рдЯрд╛рдЗрдорд╕реНрдЯрдБрдк java.time.OffsetDateTime
_

рддрд╛рд░реАрдЦ рдорд┐рд│рдд рдЖрд╣реЗ

рдорд╛рдЭреНрдпрд╛рдХрдбреЗ рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдЪрд╛рдВрдЧрд▓реА рдмрд╛рддрдореА рдЖрд╣реЗ. рдЦреВрдк рджрд┐рд╡рд╕рд╛рдВрдиреА рдкрд╣рд┐рд▓реЗ. рдЖрдкрдг getDate() рдкрджреНрдзрддреАрдЪреА рдорд░реНрдпрд╛рджрд╛ рдкреВрд░реНрдг рдХрд░реВ рд╢рдХрддреЛ , рдЬреА java.sql Date рдкреНрд░рдХрд╛рд░ рдкрд░рдд рдХрд░рддреЗ.

рдореБрджреНрджрд╛ рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА рд╡рд╕реНрддреБрдкрд░рд┐рдгрд╛рдо рд╕реЗрдЯрдЖрдгрдЦреА рдПрдХ рдордиреЛрд░рдВрдЬрдХ рдкрджреНрдзрдд рдЖрд╣реЗ - getObject() . рд╣реА рдкрджреНрдзрдд рджреЛрди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдШреЗрддреЗ: рдПрдХ рд╕реНрддрдВрдн рдЖрдгрд┐ рдПрдХ рдкреНрд░рдХрд╛рд░, рдЖрдгрд┐ рджрд┐рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░рд╛рдд рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕реНрддрдВрднрд╛рдЪреЗ рдореВрд▓реНрдп рдкрд░рдд рдХрд░рддреЗ. рдкрджреНрдзрддреАрдЪреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрд╡рд░реВрдк рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЖрд╣реЗ:

ClassName Name = getObject(column, ClassName);

рдЖрдгрд┐ рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ DATE рдкреНрд░рдХрд╛рд░ java.time.LocalDate рдкреНрд░рдХрд╛рд░рд╛рдд рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рд╛рдпрдЪрд╛ рдЕрд╕реЗрд▓ , рддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рд▓рд┐рд╣рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓:

LocalDate localDate = results.getObject(4, LocalDate.class);

рдЖрдгрд┐ рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рдХреЛрдгрддрд╛рд╣реА TIMESTAMP рдЕрдиреЗрдХ рдкреНрд░рдХрд╛рд░рд╛рдВрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ:

java.time.Instant instant = results.getObject(9, java.time.Instant.class);
java.time.LocalDateTime local = results.getObject(9, java.time. LocalDateTime.class);
java.time.OffsetDateTime offset = results.getObject(9, java.time. OffsetDateTime.class);
java.time.ZonedDateTime zoned = results.getObject(9, java.time. ZonedDateTime.class);

рдорд╣рддреНрд╡рд╛рдЪреЗ! рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдЬреБрдирд╛ MySQL JDBC рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рдЕрд╕рд▓реНрдпрд╛рд╕ рд╣рд╛ рдХреЛрдб рдХрд╛рдо рдХрд░рдгрд╛рд░ рдирд╛рд╣реА . рддреБрдордЪреНрдпрд╛ pom.xml рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реНрдпрд╛ "mysql-connector-java" рдЪреНрдпрд╛ рдЖрд╡реГрддреНрддреАрдХрдбреЗ рд▓рдХреНрд╖ рджреНрдпрд╛ рдХрд┐рдВрд╡рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреАрд▓ рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ.

рддрд╕реЗ, рддреНрдпрд╛рдЪ рдкреНрд░рдХрд╛рд░реЗ, рдЖрдкрдг рдЖрджрд┐рдо рдкреНрд░рдХрд╛рд░рд╛рдВрд╕рд╛рдареА рдирд▓ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрд╕рдорд░реНрдерддрд╛ рдорд┐рд│рд╡реВ рд╢рдХрддрд╛. рдЬрд░ рдЯреЗрдмрд▓ рдХреЙрд▓рдо INT рдкреНрд░рдХрд╛рд░рдЪрд╛ рдЕрд╕реЗрд▓, рддрд░ рддреНрдпрд╛рддреВрди рдирд▓ рдорд┐рд│рд╡рдгреНрдпрд╛рдЪреЗ рджреЛрди рдорд╛рд░реНрдЧ рдЖрд╣реЗрдд. рдЦрд╛рд▓реАрд▓ рдЙрджрд╛рд╣рд░рдг рдкрд╣рд╛:

Integer id1 = results.getObject(8, Integer.class);    	 // this will work
Integer id2 = results.getObject(8, int.class);                 //this will also work
int id3 = results.getObject(8,  Integer.class);            	//method will return null, JVM will throw NPE
int id4 = results.getObject(8,  int.class);                    	//method will return null, JVM will throw NPE

MySQL рдордзреНрдпреЗ рдЯрд╛рдЗрдордЭреЛрди рд╕реЗрдЯрд┐рдВрдЧ

MySQL рд╕реЛрдмрддрд╣реА рдмрд░реНтАНрдпрд╛рдЪ рдордиреЛрд░рдВрдЬрдХ рдЧреЛрд╖реНрдЯреА рдШрдбрд▓реНрдпрд╛. рддреБрдореНрд╣рд╛рд▓рд╛ рдорд╛рд╣рд┐рддреА рдЖрд╣реЗ рдХреА, MySQL рдХрдиреЗрдХреНрд╢рди рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛, рддреБрдореНрд╣реА рддреНрдпрд╛рдд рд╡рд┐рд╡рд┐рдз рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЬреЛрдбреВ рд╢рдХрддрд╛ :
mysql://localhost:3306/db_scheme?Name=meaning&Name=meaning

рддрд░, MySQL рдордзреНрдпреЗ рдЯрд╛рдЗрдо рдЭреЛрдирд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреАрди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд. рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рд╕рд░реНрд╡реНрд╣рд░рд╢реА рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рддреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рд╣реЗ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдкрд╛рд╕ рдХрд░реВ рд╢рдХрддрд╛.

рдЦрд╛рд▓реА рдореА рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕реЛрдмрдд рдПрдХ рдЯреЗрдмрд▓ рджреЗрдИрди:

рдкреЕрд░рд╛рдореАрдЯрд░ рдореВрд▓реНрдпреЗ рдбреАрдлреЙрд▓реНрдЯ рдореВрд▓реНрдп
рдХрдиреЗрдХреНрд╢рдирдЯрд╛рдЗрдордЭреЛрди рд╕реНрдерд╛рдирд┐рдХ | рд╕рд░реНрд╡реНрд╣рд░ | рд╡рд╛рдкрд░рдХрд░реНрддрд╛-рдЭреЛрди рд╕рд░реНрд╡реНрд╣рд░
forceConnectionTimeZoneToSession рдЦрд░реЗ | рдЦреЛрдЯреЗ рдЦрд░реЗ
рддреНрд╡рд░рд┐рдд рдЬрддрди рдХрд░рд╛ рдЦрд░реЗ | рдЦреЛрдЯреЗ рдЦреЛрдЯреЗ

рдХрдиреЗрдХреНрд╢рдирдЯрд╛рдЗрдордЭреЛрди рдкреЕрд░рд╛рдореАрдЯрд░ рд╡рд╛рдкрд░реВрди , рдЖрдореНрд╣реА рдЯрд╛рдЗрдо рдЭреЛрди (рдЯрд╛рдЗрдо рдЭреЛрди) рдирд┐рд╡рдбрддреЛ рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕рд░реНрд╡ рд╡рд┐рдирдВрддреНрдпрд╛ рдЕрдВрдорд▓рд╛рдд рдЖрдгрд▓реНрдпрд╛ рдЬрд╛рддреАрд▓. рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рддреВрди, рд╕рд░реНрд╡реНрд╣рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЯрд╛рдЗрдо рдЭреЛрдирдордзреНрдпреЗ рдЪрд╛рд▓реВ рдЖрд╣реЗ.

forceConnectionTimeZoneToSession рдкреЕрд░рд╛рдореАрдЯрд░рдореБрд│реЗ рд╕рддреНрд░ time_zone рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдХрдбреЗ рджреБрд░реНрд▓рдХреНрд╖ рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ connectTimeZone рд╕рд╣ рдмрджрд▓рд▓реЗ рдЬрд╛рддреЗ.

рд╢реЗрд╡рдЯреА, preserveInstants рдкреЕрд░рд╛рдореАрдЯрд░ JVM рдЪреНрдпрд╛ рдЯрд╛рдЗрдордЭреЛрди рдЖрдгрд┐ рдХрдиреЗрдХреНрд╢рдирдЯрд╛рдЗрдордЭреЛрдирдордзреАрд▓ рдЕрдЪреВрдХ-рд╡реЗрд│-рд░реВрдкрд╛рдВрддрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ.

рд╕рд░реНрд╡рд╛рдд рд╕рд╛рдорд╛рдиреНрдп рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЖрд╣реЗрдд:

  • connectionTimeZone=LOCAL & force ConnectionTimeZoneToSession=false - useLegacyDatetimeCode=true рд╕рд╣ рдЬреБрдиреНрдпрд╛ MySQL JDBC рдбреНрд░рд╛рдЗрд╡реНрд╣рд░ рдЖрд╡реГрддреНрддреА 5.1 рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ.

  • connectionTimeZone=LOCAL & force ConnectionTimeZoneToSession=true рд╣рд╛ рдПрдХ рдирд╡реАрди рдореЛрдб рдЖрд╣реЗ рдЬреЛ рддрд╛рд░реАрдЦ рдЖрдгрд┐ рд╡реЗрд│ рдореВрд▓реНрдпреЗ рд╣рд╛рддрд╛рд│рдгреНрдпрд╛рдЪрд╛ рд╕рд░реНрд╡рд╛рдд рдиреИрд╕рд░реНрдЧрд┐рдХ рдорд╛рд░реНрдЧ рдкреНрд░рджрд╛рди рдХрд░рддреЛ.

  • connectionTimeZone=SERVER & preserveInstants=true - рдЬреБрдиреНрдпрд╛ MySQL JDBC рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рдЖрд╡реГрддреНрддреА 5.1 рд▓рд╛ useLegacyDatetimeCode=false рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ.

  • connectionTimeZone=user_defined & preserveInstants=true - рд╕рд░реНрд╡реНрд╣рд░рдЪрд╛ рдЯрд╛рдЗрдо рдЭреЛрди рдХрдиреЗрдХреНрдЯрд░рджреНрд╡рд╛рд░реЗ рдУрд│рдЦрд▓рд╛ рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реА рдЕрд╢рд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрд╡рд░ рдорд╛рдд рдХрд░рдгреНрдпрд╛рд╕ рдорджрдд рдХрд░рддреЗ рдХрд╛рд░рдг рддреЗ CET/CEST рд╕рд╛рд░рдЦреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдХреНрд╖реЗрдк рдореНрд╣рдгреВрди рд╕реЗрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ.

рд╣реЛрдп, рддрд╛рд░рдЦрд╛ рд╣рд╛ рдПрдХ рдордиреЛрд░рдВрдЬрдХ рд╡рд┐рд╖рдп рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╣ рдЕрдиреЗрдХ рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗрдд. рдпрд╛ рдореНрд╣рдгреАрдкреНрд░рдорд╛рдгреЗ: рд╣реЗ рдирдХреНрдХреАрдЪ рдзрдбрдХреА рднрд░рд╡рдгрд╛рд░рд╛ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдорд▓рд╛ рд░рд╛рдЧрд╣реА рдЖрд▓рд╛ рдирд╛рд╣реА! :)