PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Spring JDBC + Postgres SQL + Java 8 - конвертиране от/към LocalDate

Новата поддръжка на API за дата и дата с JDBC се определя от JEP 170:JDBC 4.2 . Postgres страница за изтегляне съвместимостта с новите функции на JDBC 4.2 започва едва от Postgres версия 9.4, така че някои предизвикателства за съвместимост ще изскочат при използване на новия API с по-стари драйвери.

Дори setObject(1, new java.util.Date()); се отхвърля от същото ограничение в Postgres (което се приема с радост от MySQL), не само новия API като LocalDate . Някои поведения ще зависят от внедряването, така че само java.sql.* е почти гарантирано (грубо казано).

Що се отнася до Spring JDBC рамката, мисля, че замяната на нейното поведение работи, за да я заобиколите, без да съжалявате по-късно. Предлагам малко по-различен подход за това, което вече направихте:

  1. Разширете BeanPropertySqlParameterSource поведение за работа с новия API за дата и час и други класове, свързани с въвеждане на параметри, ако е необходимо (не съм запознат с този API на Spring).
  2. Извличане на вече замененото поведение на BeanPropertyRowMapper към друг клас за операции за извличане.
  3. Увийте всичко с фабричен шаблон или полезен клас, за да не се налага да го гледате отново.

По този начин вие подобрявате бъдещите възможности за рефакторинг, ако API се поддържа и намалявате количеството код, необходим по време на разработката.

Можете също така да разгледате някои DAO подходи.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да направя SUM в две несвързани таблици?

  2. Как ключовите думи НЕИЗМЕНЯЕМ, СТАБИЛЕН и ПРОМЕНЛИВ влияят върху поведението на функцията?

  3. grake db:create хвърля база данни не съществува грешка с postgresql

  4. Разделете колоната на няколко реда в Postgres

  5. PostgreSQL:Изтриване на двойка ключ/стойност от масив с json обекти