Passaggio di una mappa / hashmap dal mappatore Mybatis alla procedura SQL
Domanda
Desidero passare la "mappa" a una stored procedure PL / SQL tramite Spring Mybatis Mapper XML. Esiste un modo per passarlo utilizzando il tipo Java appropriato e il jdbctype. Posso usare una classe Java per mappare il TypeHandler appropriato, ma esiste un altro modo per farlo senza utilizzare un gestore di tipi.
Soluzione
Devi usare un TypeHandler.È così che MyBatis imposta i tipi Java impostati in istruzioni preparate e richiamabili.
Se registri TypeHandler con la tua configurazione MyBatis, MyBatis sceglierà automaticamente il gestore di tipi corretto, evitando di digitare "typeHandler= ..." nella mappa sql.È così che puoi ottenere che utilizzi la variabile javaType per trovare il tuo gestore di tipi.
cioè(org.apache.ibatis.session.Configuration)
configuration.getTypeHandlerRegistry().register(HashMap.class, new MyPLSQLTypeHandler());