#mybatis #ibatis
#mybatis #ibatis
Вопрос:
Приведенная ниже строка взята из документа : https://mybatis.org/mybatis-3/configuration.html#:~:text=Whenever MyBatis sets a parameter,and Time API) by default.
Всякий раз, когда MyBatis устанавливает параметр в PreparedStatement или извлекает значение из результирующего набора, обработчик типов используется для извлечения значения средствами, соответствующими типу Java.
Кроме того, мы можем переопределить обработчики типов или создать свои собственные для работы с неподдерживаемыми или нестандартными типами.
Итак, один из таких сценариев, который я видел, касается типа Json, где нам нужен пользовательский обработчик типов, поскольку тип Json не поддерживается mybatis. Правильно ли я понимаю?
Кроме того, я хочу знать несколько других типов, которые не поддерживаются mybatis (просто любопытно), я искал в сети, но не смог найти ничего подходящего.
Комментарии:
1. Да, обработчик типов для JSON, похоже, популярен. Для JSON нет встроенного обработчика типов, потому что в API JDBC нет типа JSON. Другим примером является UUID по той же причине.
2. Обычно вы используете обработчики типов для любого типа, который не поддерживается вашей базой данных: например
boolean
, не существует в Oracle или DB2. Я также видел это для любого преобразования данных «на лету»; например, адаптация часового пояса временной метки между базой данных и приложением, которое работает в нескольких часовых поясах.3. @TheImpaler.. Тип данных Json поддерживается базой данных postgres, но все же ibatis / mybatis требует обработчика типов для Json. Итак, я думаю, что мы используем TypeHandler, если он не поддерживается ibatis / mybatis, а не базой данных.