参数相关的Mybatis升级问题

问题描述 投票:0回答:0

我试图将我的 spring 版本从 4 升级到 5.3.23 还将 Jackson 数据绑定更新为 2.13.5 这样做时我需要将 mybatis 从 3.0 升级到 3.5.11 还有 mybatis-spring 从 1.0 到 2.1.0

在升级过程中,我发现 mybatis 请求发生了奇怪的行为。

我收到一个错误 -

java.lang.IllegalStateException: Type handler was null on parameter mapping for property '__frch_token_1'. It was either not specified and/or could not be found for the javaType

(com.fasterxml.jackson.databind.node.ArrayNode): jdbcType (null) combination. ### Cause:

java.lang.IllegalStateException: Type handler was null on parameter mapping for property __frch_token_1'. It was either not specified and/or could not be found for the javaType

(com.fasterxml.jackson.databind.node.ArrayNode):

jdbcType (null) combination.

使用早期版本的mybatis,它工作正常。

似乎每个循环都在中断。


<select id="getByCriteria" resultMap="xyzResultMap">

<![CDATA[SELECT ]]>

<include refid="columns" />

<![CDATA[ FROM Table ]]> != null">

<if test="criteria <where>

<foreach collection "criteria" item="item" separator="AND">
 <!-- column name -->

<choose>

<when tesst=‘“IId".equals (item.fieldName)">id</when> 
<when test=""Name".equals(item.fieldName)"> iName</when> 


<otherwise>/* unknown field name ${item.fieldName} */</otherwise>

</choose> 
<!-- operator and search value -->

<choose>

<when test=""equals".equals(item.operator)'>= #{item.value}</when>

<when test=""iCaptains".equals(item.operator)'> like UPPER('%${item.value }%')</wh

<when test=""inSet".equals(item. operator)'><![CDATA[ IN (]]>

<foreach collection="item. value" item- "token" separator=", ">

<![CDATA[ #{token}]]>

</foreach><![CDATA[)]]>

/when>

<otherwise>/* unknown field name ${item.operator} */</otherwise>

</choose> </foreach>

</where>
</if>

有人可以给我关于这个问题的见解吗?

java mybatis spring-mybatis mybatis-generator
© www.soinside.com 2019 - 2024. All rights reserved.