Передача Map / HashMap из Mybatis mapper в процедуру SQL - PullRequest
0 голосов
/ 02 декабря 2011

Я хочу передать 'Map' хранимой процедуре PL / SQL через Spring Mybatis Mapper XML. Есть ли способ, которым я могу передать его, используя соответствующий тип java и jdbctype. Я могу использовать класс Java для сопоставления с соответствующим TypeHandler, но есть ли другой способ, которым мы можем сделать это без использования обработчика типа.

1 Ответ

0 голосов
/ 08 декабря 2011

Вы должны использовать TypeHandler. Вот как MyBatis устанавливает типы Java в готовых и вызываемых выражениях.

Если вы зарегистрируете TypeHandler в своей конфигурации MyBatis, MyBatis автоматически выберет правильный обработчик типа, избегая ввода "typeHandler = ..." в карте sql. Вот как вы можете заставить его использовать переменную javaType для поиска вашего обработчика типов.

т.е. (Org.apache.ibatis.session.Configuration)

configuration.getTypeHandlerRegistry().register(HashMap.class, new MyPLSQLTypeHandler());
...